- 博客(77)
- 资源 (7)
- 收藏
- 关注
原创 自定义类moveToThread
2,其它的一次性任务或者间歇性任务尽量都用moveToThread,线程执行的任务与 Qt 的事件系统(如信号和槽)交互。2,把子线程的finished信号和自定义类对象的deleteLater槽连接,结束子线程则自动析构自定义类的对象。采用moveToThread的方式,将槽函数所在对象移入子线程,发送信号函数在主线程,槽函数在单独的子线程。需要运行的代码应该放到一个QObject的子类中,然后将该子类的对象moveToThread到新线程中。允许在不同的线程中运行任务,同时保持与主线程的通信。
2025-05-07 14:13:41
180
原创 QThread和connect的关系
比如while循环等,这个时候sender在发送信号,槽函数是不会响应的,除非槽函数工作在sender线程中,也就是要把参数设置为DirectConnection或者槽函数所在线程开启事件循环。当信号发送时候,槽函数不会直接调用,直到接受者线程取得控制权时进行事件处理循环时候,槽函数才会调用执行。信号发送至目标线程的事件队列(发送信号和槽函数位于不同线程),交由目标线程处理,当前线程继续向下执行。直接在发送信号的线程中调用槽函数(无论发送信号和槽函数是否位于同一线程),等价于槽函数的实时调用。
2025-05-07 14:12:41
226
原创 QT 在圆的边界画出圆
QT 在圆的边界画出圆QT 在圆的边界画出实心圆在Qt中,要实现在圆的边界上绘制图形,你需要使用QPainter类来在QWidget或其子类的paintEvent中绘制。下面我将通过一个简单的例子来说明如何在Qt中绘制一个圆,并在其边界上绘制其他图形(例如,线条或点)。
2025-05-05 19:06:59
797
1
原创 Axure打开html文件失败,解决方案:
2、文件后缀名改为 axure-chrome-extension.rar ,解压后到axure-chrome-extension。选择刚刚解压的文件axure-chrome-extension文件夹,配置完成,打开html试试吧。3、打开Chrome浏览器,找到扩展程序。1、在原型文件中找到。
2025-05-04 15:12:30
444
原创 VSCode 配置window环境实现编译linux代码
1、安装WSL,如果安装失败,需要在启动和关闭window服务中,勾选启动支持window子系统linux选项,重启系统,安装WSL环境,默认安装为ubuntu最新版本;需要手动编写Makfile文件, 使用对应版本的QT的qmake, 之后再用make命令进行编译生成可执行程序。<1> Chinese (simplified)简体中文, 安装好后,软件界面的右下角会弹出通知,并附带。2、可以通过window Miscrosoft Store 面板,选择安装linux系统的版本;具体后续进行补充操作。
2025-04-29 17:32:25
148
原创 QT文件和文件夹拷贝操作
if (fileInfo.isDir()) { // 当为目录时,递归的进行copy。else { //当允许覆盖操作时,将旧文件进行删除操作。dstDir.exists()) { //目的文件目录不存在则创建文件目录。QFile::exists(srcPath)) { //源文件不存在。//(源文件目录路劲,目的文件目录,文件存在是否覆盖)//(源文件文件路径,目的文件路径,文件存在是否覆盖)/// 进行文件copy。
2025-04-21 18:34:55
437
原创 windows11如何取消Microsoft账号和本地账号的绑定
3、再次登录后,显示是本地账号,但是微软账号依然存在,删除HKEY_CURRENT_USER\Software\Microsoft\IdentityCRL和HKEY_USERS\.DEFAULT\Software\Microsoft\中的IdentityCRL项,再次在开始菜单里注销账户;鉴于 Microsoft的设定,必须要设置联网账号才能登陆,导致我的一些功能没法用,例如Windows Hello,所以我查到了如下的方法,希望能有帮助。4、重新登录后,在设置-账户-电子邮件和应用账户下,单击微软账户。
2025-02-08 12:06:01
1469
原创 Ubuntu20系统增加开机自启动任务
1、终端执行命令gnome-session-properties 根据弹窗的窗口,进行添加开机自启动的任务信息;
2025-02-06 16:26:42
353
原创 Mysql DESCRIBE
创建完数据表之后,经常需要查看表结构(表信息)。在中,可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令来查看数据表的结构。
2025-01-09 11:24:37
772
原创 QT自定义控件在QScrollArea中实现
Q_OBJECTprotected:// 创建一个右键菜单QAction *addAct = menu.addAction("添加");QAction *removeAct = menu.addAction("移除");// 将菜单显示在鼠标点击的位置// 处理添加动作// 处理移除动作pro 需要添加:2、如何实现QScrollArea控件内部整齐布局自定义的下卡片呢?
2025-01-04 10:42:03
308
原创 sftp+sshpass传输文件嘎嘎香
实现场景,要求客户端定时将本地的日志文件传输到服务器。工作环境ubuntu,注意不通操作系统的版本不通,依赖的工具的版本也有所不同实现目标需要客户端满足安装工具:1、下载安装sshpass---安装命令:sudo apt-get install sshpass---使用实例:---传输文件夹实例:est1为所需传输的文件夹;root是登录服务器的用户,后接着IP地址和将要存储的路径;-p后的123456是登录服务器的密码。
2024-12-12 17:46:17
1199
原创 解决 Too many open files 问题
删除最后一行 echo -e "# add_config" | sudo tee -a /etc/security/limits.conf。#查看限制结果 ulimit -a。
2024-12-09 15:51:00
540
原创 mysql连接数量设置(too many connections)
修改mysql的配置寄文件my.ini。,配置好之后再次查看最大连接数的量。修改完成之后重启服务就会生效。
2024-12-02 16:42:26
1390
原创 设置mysql远程访问
现在应该可以从任何远程机器通过之前创建的用户凭据远程访问Ubuntu上的MySQL服务了。记得在防火墙中开放3306端口(MySQL的默认端口)以允许远程连接。登录到MySQL服务。修改MySQL配置文件(my.cnf)。创建允许远程访问的用户或更新现有用户。Ubuntu 设置mysql远程访问。这一行或者将其值改为。重启MySQL服务。
2024-10-22 14:20:47
947
原创 涛思数据库安装和卸载
如果是更新安装,当缺省配置文件( /etc/taos/taos.cfg )存在时,仍然使用已有的配置文件,安装包中携带的配置文件修改为taos.cfg.org保存在 /usr/local/taos/cfg/ 目录,可以作为设置配置参数的参考样例;卸载安装包的时候,将保留配置文件、数据库文件和日志文件,即 /etc/taos/taos.cfg 、 /var/lib/taos 、 /var/log/taos。数据库缺省目录:/var/lib/taos, 软链接到/usr/local/taos/data;
2024-09-19 17:09:43
2060
原创 Taos查询失败
1、查询SQL语句中,如果用到最大值或者最小值对时间戳字段的时候,就会失败,float 类型和int类型支持,注意一下该类问题;终端执行命令,也可以查询到结果。执行该命令之后,结果成功。
2024-08-26 14:08:09
366
1
原创 QT5 - ubuntu18 -JSON 菜鸟学习
QJsonDocument 类用于读和写 JSON 文档。一个 JSON 文档可以使用 QJsonDocument::fromJson() 从基于文本的表示转化为 QJsonDocument, toJson() 则可以反向转化为文本。解析器非常快且高效,并将 JSON 转换为 Qt 使用的二进制表示。已解析文档的有效性,可以使用!isNull() 进行查询。如果要查询一个 JSON 文档是否包含一个数组或一个对象,使用 isArray() 和 isObject()。
2024-07-18 10:20:29
912
原创 QT+window 代码适配调试总结(三)
1、开发测试环境为:A: window10 64位B: QT版本为4.8.6C:采用VS2017 C++ Compiler 9.0 (x86)编译器版本根据总结(二)经验,开发环境的可执行程序显示正常;2、新的环境运行的时候显示乱码;在main.cpp 文件中增加下面一段代码:#else#endif#else#endif解决之后:#else#endif#else#endif调整之后,可执行程序在新的环境下运行,界面的中文乱码解除。
2024-07-17 11:10:14
499
原创 GitHub访问慢的问题彻底解决(一)
按照下面这个项目来解决【前提】能够访问github1.1 复制下面的内容上面内容会自动定时更新,保证最新有效。数据更新时间:2022-06-01T10:55:12+08:00(内容无变动不会更新)
2024-07-12 10:41:38
1564
原创 Qt5 Ubuntu18 QStackedWidget
1、在实际项目开发过程遇到,如果通过UI插件的属性设置,通过对默认的两个页面进行提升需要切换操作的对象,如果该对象需要外部接口传入数据,实现界面信息的实时刷新,这样会失败,失败的原因很好理解,就是系统默认对类的操作,而我们外部接口调用需要实例化对象,因此我们外部调用的接口和提升默认的对象,不是同一个对象。通过代码实现添加对象,实现多页切换,是可以的,保证我们添加到QStackedWidget里面的对象也是我们外部调用的对象,数据可以相互交互,界面也是想要的显示结果。添加页面,并返回页面对应的索引。
2024-07-10 10:05:18
444
原创 QT+window (二)
1、首先我们自定义的动态库,大多数不规范,所谓跨平台,只能说是QT本身的框架,实际自定义的动态库极其不规范, 大多数的动态库没有实现功能独立的功能,数据重定义和相互依赖是很头疼的事情,趁此机会斩断互相的网,逐步完成动态库的window适配,根据window环境的要求实现;已经好多年了, linux环境下不同版本的QT程序开发和部署,突然需要适配window环境程序调试,一堆大坑,还真是一个艰巨的任务,可是kpi下的任务计划,开始吧!A:自定义动态库中的总会有一个全局的文件,定义库导入和导出的宏。
2024-06-27 10:49:42
606
原创 卸载并清理Mysql
最后,检查是否有残留的配置文件或者日志文件,并手动删除它们。确保在执行这些步骤之前备份任何重要的数据库数据。ubuntu 卸载mysql。
2024-06-21 15:53:01
2721
原创 VMware清理拖拽缓存
在使用ubuntu过程中,可能会发现自己的硬盘空间不足,所以需要对硬盘占用情况进行分析,来调整或删除自己的硬盘文件。但每一次拖拽,其实都是现在cache文件夹里面生成一个同样的文件,并使用cp拷贝的方式将其拷贝到拖拽放置的目录中。因此,如果不进行清理的话,cache文件夹中产生的文件,并不会自动删除或者释放。打开软件之后可以进行对磁盘进行分析,查看具体位置的文件,自己进行清理操作。进入文件夹,可以见到每一次拖拽产生的文件,都在子文件夹中有一份。磁盘空间越用越小,如何快速解决磁盘空间的问题,甩掉烦恼。
2024-06-13 11:06:22
1220
原创 window环境下QT5开发环境的搭建
2、然后在构建套件(Kit)中选择自动匹配到的编译器,我的是VS2017 的MSVC,在调试器中选择刚才添加进来的cdb Debugger,确定即可实现QT Creator的Debugger调试。调试提示:QT 中出现Unable to create a debugging engine。2、安装Visual studio Enterprise 2017。1、安装visual Stusio 15 生成工具2012。解决方法:安装Debuggers调试环境。5、配置完成代码无法调试,需要安装调试器。
2024-05-22 00:09:01
1551
原创 ubuntu下不生成core dumped
最有可能的原因是/proc/sys/kernel/core_pattern文件里面把你的core文件发送到别处去了。最有可能的原因是/proc/sys/kernel/core_pattern文件里面把你的core文件发送到别处去了。如果查看core_pattern 内容如下:|/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E 或则其他,说明产生的文件已经保存到不知道的位置了,需要修改为core就可以了。
2024-05-15 19:29:48
900
原创 goose协议 第二篇 基础库编译
2.1 智能变电站自动化系统架构其中GOOSESVMMS在数字变电站中的作用一文详细描述了智能电子设备(IEDE)与控制系统的协调和互操作性的协议,也就是GOOSESVMMS,也帮助我们站在智能变电站自动化系统架构的视野上来了解GOOSESVMMS协议。连接这些设备的通信网络可以是基于以太网、由光纤电缆和 UTP电缆组成的网络,也可以是无线通信系统。数字化变电站是电力系统基础设施的游戏规则改变者。他们利用 IED提供增强诊断、降低维护成本和提高自动化等优势。
2024-05-10 11:49:32
1389
原创 root用户不能够sudo切换到普通用户解决办法
可以让你以root身份执行命令,来完成一些我们这个账号完成不了的任务。但是并非所有用户都能够执行sudo,因为有权限的用户都在/etc/sudoers中。找到root ALL=(ALL) ALL文件,在下方添加自己的账户并:wq!
2024-05-07 10:27:41
709
原创 凝思100 虚拟机只能使用cd命令的解决办法
创建临时变量:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin。把这句复制过去执行就可以了,去重新改profile了,然后source /etc/profile。今天由于改 /etc/profile 文件改错了(在root权限下)网上查了半天在看到一个靠谱的。导致只有cd命令可以用。
2024-05-07 09:30:12
262
原创 export QT_DEBUG_PLUGINS=1
Qt的编程中包含了插件模式,使得程序的扩展性非常好,但插件的动态加载的检查也比较严格,这次编译数据库驱动插件就碰到了不少问题。实际上,可以在系统的 环境变量中设置QT_DEBUG_PLUGINS=1 ,即在终端中执行 export QT_DEBUG_PLUGINS=1。再执行程序加载插件时,再系统控制台上会输出许多加载插件时的调试信息,可以清楚的看到系统尝试加载了哪些插件,哪些是成功的,哪些没有成功,原因是什么都写的比较清楚。因此,如果自己编译的插件库无法加载,可以用这个方式检查以下到底是哪里的问题。
2024-05-07 09:29:49
1083
原创 关于vsftp应用总结
SFTP端口默认为22,如果要做修改的话,需要修改两个文件:/etc/ssh/ssh_config 和 /etc/ssh/sshd_config。客户端可以65535*N + port的端口进行连接,即连接的端口以65535为一循环,例如sftp -P 65558 root@192.168.226.111连接的是192.168.226.111的22端口,因为65558 = 65535 + 1 + 22。服务端的端口只能修改为 1---65535,0端口及大于65535的端口启动服务时会报错。
2024-03-28 19:47:47
1416
原创 SSH隧道详解与使用AutoSSH实现稳定的内网穿透
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport。-f 使 autossh 在运行 ssh 之前进入后台。
2024-03-28 19:47:19
2458
基于linux环境中调用excel库,实现报表打印功能
2023-03-09
介绍在ubuntun环境下docker的操作过程
2023-02-20
ping-C++代码实现.docx
2020-10-15
log4cpp-1.1.3代码交叉编译说明
2020-10-15
COM组件-JS调用测试-源代码
2013-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人