
SIGNAL
文章平均质量分 70
huliweiweiba
这个作者很懒,什么都没留下…
展开
-
深入理解QT的SIGNAL\SLOT机制(一):SIGNAL\SLOT如何使用
首先声明不同版本的QT针对信号和槽的实现略有不同,接口大多一样。我用的是QT5.9.1。QT的SIGNAL/SLOT有点像观察者模式,说是阶段一直做SDN,在controller的代码中就是使用观察者模式进行消息分发,看了Qt的SIGNAL/SLOT才发现这也是一种观察者模式。第一章先来看SIGNAL/SLOT如何简单实用新建工程,该工程里面就两个类,一个是MyWidget,继承自QWidget,一原创 2017-12-19 21:02:38 · 8328 阅读 · 2 评论 -
深入理解QT的SIGNAL\SLOT机制(三):QObject::connect函数
本章我们来看connect函数是如何绑定信号和槽的 我们在MyWidget.cpp代码中的connect左边打断点进行DEBUG:按F11,进入connect函数。 下面是QObject::connect函数的代码: 2663~2670行:判断传入的参数是否为空,为空返回。 2673~2674行:判断信号是不是信号。大家看右边的DEBUG,sender是MyWidget对象,signal原创 2017-12-20 10:13:26 · 3076 阅读 · 0 评论 -
深入理解QT的SIGNAL\SLOT机制(四):Connection结构
书接上文,本章讲述connection结构,这部分是信号和槽能发挥作用的核心部分,先来看两个结构体: struct Connection { QObject *sender;//信号发起者 QObject *receiver;//信号接收者 union { StaticMetaCallFunction callFunct原创 2017-12-20 10:54:20 · 1583 阅读 · 0 评论 -
深入理解QT的SIGNAL\SLOT机制(五):信号的发射过程
我们来看信号的发起过程,先来看一个宏定义:# define emit,这个宏定义将emit定义为空,也就是说你在emit mysignal()的时候,这行代码其实就是mysignal(),所以信号就是函数,只是换了个概念而已! 废话不多说,来DEBUG: 我们在11行打断点F11进入:// SIGNAL 0void MyWidget::mysignal(){ QMetaObjec原创 2017-12-20 11:40:01 · 7217 阅读 · 1 评论