emit 查看代码,发现是一个空宏。
如果emit mySignal(); 是不是等同于 mySignal(); 直接调用这个函数。
而信号在C++的语法来看,指示一个没有实体的函数申明。
我的想法是这种机制类似MFC的消息映射,但是这里想不透如何发消息,寻找映射表,运行对应的槽。
想不明白,请教牛人,谢谢。
------解决方案--------------------
如果使用信号槽必须继承QObject,QObject使用元对象(QMetaObject)实现信号到槽
------解决方案--------------------
前面部分是对的。
emit就是一空,你不写emit 信号槽也会触发,
mySignal()就是一个函数调用。
后面就不太对了。Qt是基于C++的。所以mySignal()一定有定义
那谁帮你定义的? MOC - meta object compiler.
定义的实现在哪里? moc_xxxx.cpp里面。
信号槽如何链接上的? --- google or baidu~
------解决方案--------------------
请看moc_xxx.cpp
------解决方案--------------------
还是版主牛逼
------解决方案--------------------
版主解释的很仔细,也很专业。
赞一个