一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

随笔分类 -  Qt

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 52 下一页
Qt 降低程序CPU占用率
摘要:发现自己的程序CPU占用率奇高:达到百分之五十多!按照网上的说法,原因有以下几点:1、在paintEvent中调用update函数,造成无限循环2、频繁刷新数据3、复杂的浮点运算4、死循环5、paintEvent里操作太多我的程序是通过网络每秒一次读取下位机数据,并调用Qcustomplot绘图,并 阅读全文
posted @ 2021-04-14 09:33 一杯清酒邀明月 阅读(1268) 评论(0) 推荐(0)
Qt 程序CPU占用率较高的解决办法
摘要:分析思路 总的来说,Qt程序CPU占用率较高的原因可能有以下几点: 1、在paintEvent中调用update函数,造成无限循环2、频繁刷新数据3、复杂的浮点运算4、死循环5、paintEvent里操作太多 我遇到这个问题的程序是利用多个子线程(接收子线程)同时接收并解析网口的数据,同时另外一个子 阅读全文
posted @ 2021-04-14 09:32 一杯清酒邀明月 阅读(3348) 评论(0) 推荐(0)
Qt 文件夹不存在,创建文件夹,文件不存在,创建文件
摘要:1 ```cpp 2 QString runPth = QDir::currentPath(); 3 runPth += "/Config"; 4 QDir dir(runPth); 5 if(!dir.exists())//判断文件夹是否存在,不存在创建文件夹 6 { 7 dir.mkdir(ru 阅读全文
posted @ 2021-04-12 09:57 一杯清酒邀明月 阅读(1862) 评论(0) 推荐(0)
Qt 一个信号对应多个槽,多个信号对应一个槽的执行顺序
摘要:前言:Qt独创的信号槽机制,不仅可以一个信号连接一个槽,而且可以一对多或多对一。这其中存在两个最基本的问题:1.一个信号对应多个槽时,槽函数的执行顺序是怎样的???2.多个信号对应一个槽时,如何在槽函数中判断信号的发出者是谁(来自哪个类的对象)? 下面对这两种情况分别进行验证:实例演示1:对一个信号 阅读全文
posted @ 2021-04-09 14:20 一杯清酒邀明月 阅读(9447) 评论(0) 推荐(1)
Qt QSignalMapper(信号映射器)
摘要:QT中通过信号/槽机制,将信号与槽函数关联。有时候希望获得信号发送者信息,QT提供了QObject::sender()函数来返回发送该信号的对象的指针。但是如果有多个信号关联到了同一个槽上,而在该槽中需要对每一个信号进行不同的处理,使用上面的方法就很麻烦了。对于这种情况,便可以使用QSignalMa 阅读全文
posted @ 2021-04-09 14:14 一杯清酒邀明月 阅读(907) 评论(0) 推荐(0)
Qt 多个信号关联同一个槽函数
摘要:背景:多个信号需要执行同一个函数或者一类函数的时候,可以选择每个信号创建一个槽函数去实现功能,如果直接关联到一个函数中,该函数只能执行一份功能,有时候并不能满足业务需求 在多个信号绑定到同一个槽函数的状态下,让槽函数根据绑定的不同的信号执行不同的功能有两种方法: (1)在槽函数中获取到sender对 阅读全文
posted @ 2021-04-09 14:12 一杯清酒邀明月 阅读(1761) 评论(0) 推荐(0)
Qt C++ new一个对象的,加括号和不加括号的区别
摘要:结论 1.加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数,看需求 2.C++在new时的初始化的规律可能为:对于有构造函数的类,不论有没有括号,都用构造函数进行初始化;如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化,而加了括号的new会在分配内存的同时 阅读全文
posted @ 2021-04-09 13:55 一杯清酒邀明月 阅读(793) 评论(0) 推荐(0)
Qt QWaitCondition 的正确使用方法
摘要:简单用法QWaitCondition 用于多线程的同步,一个线程调用QWaitCondition::wait() 阻塞等待,直到另一个线程调用QWaitCondition::wake() 唤醒才继续往下执行。 为了描述方便,这里假设主线程调用Send()往通信口发送一个数据包,然后阻塞等待回包才继续 阅读全文
posted @ 2021-04-09 10:58 一杯清酒邀明月 阅读(2236) 评论(0) 推荐(1)
Qt 事件发生的先后顺序
摘要:Qt事件发生的先后顺序: 1.子类化QApplication并且重新实现notify(); 2.在QApplication对象中安装事件过滤器; 3.在QObject中安装事件过滤器; 4.重新实现QObject::event(); 5.重新实现某些特定的事件(如paintEvent等). 阅读全文
posted @ 2021-04-09 10:31 一杯清酒邀明月 阅读(303) 评论(0) 推荐(0)
Qt 事件优先级
摘要:优先级从高到低如下: (1)QWSEvent事件队列 (2)posted QEvent事件队列 (3)socket事件队列 (4)timer事件队列 阅读全文
posted @ 2021-04-09 10:29 一杯清酒邀明月 阅读(695) 评论(0) 推荐(0)
Qt QTimerEvent 定时器事件
摘要:QTimerEvent类用来描述一个定时器事件。starttimer开启一个定时器,传入一个参数为超时时间,毫秒为单位。返回值是一个timerid,在timerEvent事件函数中,根据timerid来实现超时函数。 MainWindow.h 1 #ifndef MAINWINDOW_H 2 #de 阅读全文
posted @ 2021-04-09 10:04 一杯清酒邀明月 阅读(1083) 评论(0) 推荐(0)
Qt QFutureWatcher
摘要:简述 QFuture 表示异步计算的结果,QFutureWatcher 则允许使用信号和槽监视 QFuture,也就是说,QFutureWatcher 是为 QFuture 而生的。 详细描述 QFutureWatcher 提供了有关 QFuture 的信息和通知,使用 setFuture() 函数 阅读全文
posted @ 2021-04-08 14:25 一杯清酒邀明月 阅读(3984) 评论(0) 推荐(1)
Qt 加快编译速度 MAKEFLAGS=-j4
摘要:菜单栏->工具-> 选项->构建与运行->构建套件->点击自动检测内容->在同一页面找到 Environment ->点击change ->在弹出的窗口 添加 MAKEFLAGS=-j4 即可 -j4 :表示cup四个核数加入编译 阅读全文
posted @ 2021-04-08 13:13 一杯清酒邀明月 阅读(497) 评论(0) 推荐(0)
Qt 加速编译 快速编译 make -j4
摘要:1.Qt默认的编译速度不是很快 查看任务管理器 qt编译的时候CPU利用率百分之十点多 2. 设置方法:我们为Make添加参数 3.解释至于make -j4 的意思 网友们有说是多核编译、多进程、多线程、多作业 于是特意找到GNU的官方说明,看一下官方是怎么解释的。 GNU官方 Make参数说明 指 阅读全文
posted @ 2021-04-08 13:12 一杯清酒邀明月 阅读(1069) 评论(0) 推荐(0)
Qt 绝对值 qAbs()、abs() 与fabs()
摘要:1 nt abs(int i); // 返回int类型的绝对值 2 double fabs(double i); // 返回double类型的绝对值 3 float fabsf(float i); // 返回float类型的绝对值 4 T qAbs(const T &value) // 返回输入参数 阅读全文
posted @ 2021-04-06 16:21 一杯清酒邀明月 阅读(6454) 评论(0) 推荐(0)
Qt QTransform 二维坐标系之间的转换
摘要:QTransform类 QTransform类用于控制二维坐标系之间的转换 包含:位移、缩放、扭曲、旋转还有映射 首先看它的核心内容: 这是一个仿射变换矩阵(affine transformation),它包含了坐标系转换所需要的所有信息 elementdescription m11 水平缩放 m2 阅读全文
posted @ 2021-04-06 16:02 一杯清酒邀明月 阅读(1891) 评论(0) 推荐(0)
Qt 延时之QApplication::processEvents详解
摘要:应用场景一:处理密集耗时的事情 有时候需要处理一些跟界面无关的但非常耗时的事情,这些事情跟界面在同一个线程中,由于时间太长,导致界面无法响应,处于“假死”状态。例如:在应用程序中保存文件到硬盘上,从开始保存直到文件保存完毕,程序不响应用户的任何操作,窗口也不会重新绘制,从而处于“无法响应”状态,这是 阅读全文
posted @ 2021-04-02 14:21 一杯清酒邀明月 阅读(2268) 评论(0) 推荐(0)
Qt 设置按钮禁用
摘要:直接使用成员函数的setEnabled和setDisabled成员函数,例如: ui->playVideoButton->setEnabled(false); 或者 ui->playVideoButton->setDisabled(true); 对应的,按钮变成灰色 此时按钮处于不可点击状态,其实这 阅读全文
posted @ 2021-04-02 14:03 一杯清酒邀明月 阅读(2867) 评论(0) 推荐(0)
Qt private public protected slots的区别
摘要:public slots:在这个区内声明的槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,你可以创建彼此互不了解的对象,将它们的信号与槽进行连接以便信息能够正确的传递。 protected slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接。这适用于那些槽,它们是类 阅读全文
posted @ 2021-04-01 09:34 一杯清酒邀明月 阅读(2440) 评论(0) 推荐(3)
Qt 动态添加控件,并删除指定控件
摘要:最近在修改一个软件的过程中,把Qt控件进行了重写,重写之后,布局更加简单、合理,如此使得出现bug的概率降低。 实现的功能1、将零散的小控件打包成一个模块,进行整模块的添加。2、实现每个模块的单独删除。3、实现数值、功能的交互功能。如按钮等。 代码内容话不多说,直接上代码。因为是顺手写的,注释不多, 阅读全文
posted @ 2021-03-30 14:44 一杯清酒邀明月 阅读(2158) 评论(0) 推荐(0)

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 52 下一页