摘要:
前言: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)
浙公网安备 33010602011771号