一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
摘要: 前言:Qt独创的信号槽机制,不仅可以一个信号连接一个槽,而且可以一对多或多对一。这其中存在两个最基本的问题:1.一个信号对应多个槽时,槽函数的执行顺序是怎样的???2.多个信号对应一个槽时,如何在槽函数中判断信号的发出者是谁(来自哪个类的对象)? 下面对这两种情况分别进行验证:实例演示1:对一个信号 阅读全文
posted @ 2021-04-09 14:20 一杯清酒邀明月 阅读(9428) 评论(0) 推荐(1)
摘要: QT中通过信号/槽机制,将信号与槽函数关联。有时候希望获得信号发送者信息,QT提供了QObject::sender()函数来返回发送该信号的对象的指针。但是如果有多个信号关联到了同一个槽上,而在该槽中需要对每一个信号进行不同的处理,使用上面的方法就很麻烦了。对于这种情况,便可以使用QSignalMa 阅读全文
posted @ 2021-04-09 14:14 一杯清酒邀明月 阅读(905) 评论(0) 推荐(0)
摘要: 背景:多个信号需要执行同一个函数或者一类函数的时候,可以选择每个信号创建一个槽函数去实现功能,如果直接关联到一个函数中,该函数只能执行一份功能,有时候并不能满足业务需求 在多个信号绑定到同一个槽函数的状态下,让槽函数根据绑定的不同的信号执行不同的功能有两种方法: (1)在槽函数中获取到sender对 阅读全文
posted @ 2021-04-09 14:12 一杯清酒邀明月 阅读(1759) 评论(0) 推荐(0)
摘要: 结论 1.加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数,看需求 2.C++在new时的初始化的规律可能为:对于有构造函数的类,不论有没有括号,都用构造函数进行初始化;如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化,而加了括号的new会在分配内存的同时 阅读全文
posted @ 2021-04-09 13:55 一杯清酒邀明月 阅读(792) 评论(0) 推荐(0)
摘要: 简单用法QWaitCondition 用于多线程的同步,一个线程调用QWaitCondition::wait() 阻塞等待,直到另一个线程调用QWaitCondition::wake() 唤醒才继续往下执行。 为了描述方便,这里假设主线程调用Send()往通信口发送一个数据包,然后阻塞等待回包才继续 阅读全文
posted @ 2021-04-09 10:58 一杯清酒邀明月 阅读(2227) 评论(0) 推荐(1)
摘要: Qt事件发生的先后顺序: 1.子类化QApplication并且重新实现notify(); 2.在QApplication对象中安装事件过滤器; 3.在QObject中安装事件过滤器; 4.重新实现QObject::event(); 5.重新实现某些特定的事件(如paintEvent等). 阅读全文
posted @ 2021-04-09 10:31 一杯清酒邀明月 阅读(303) 评论(0) 推荐(0)
摘要: 优先级从高到低如下: (1)QWSEvent事件队列 (2)posted QEvent事件队列 (3)socket事件队列 (4)timer事件队列 阅读全文
posted @ 2021-04-09 10:29 一杯清酒邀明月 阅读(693) 评论(0) 推荐(0)
摘要: QTimerEvent类用来描述一个定时器事件。starttimer开启一个定时器,传入一个参数为超时时间,毫秒为单位。返回值是一个timerid,在timerEvent事件函数中,根据timerid来实现超时函数。 MainWindow.h 1 #ifndef MAINWINDOW_H 2 #de 阅读全文
posted @ 2021-04-09 10:04 一杯清酒邀明月 阅读(1081) 评论(0) 推荐(0)