当前位置: 代码迷 >> QT开发 >> emit 纳闷
  详细解决方案

emit 纳闷

热度:639   发布时间:2016-04-25 03:48:51.0
emit 疑惑
emit 查看代码,发现是一个空宏。
如果emit mySignal(); 是不是等同于 mySignal();  直接调用这个函数。
而信号在C++的语法来看,指示一个没有实体的函数申明。

我的想法是这种机制类似MFC的消息映射,但是这里想不透如何发消息,寻找映射表,运行对应的槽。
想不明白,请教牛人,谢谢。

------解决方案--------------------
如果使用信号槽必须继承QObject,QObject使用元对象(QMetaObject)实现信号到槽
------解决方案--------------------
引用:
emit 查看代码,发现是一个空宏。
如果emit mySignal(); 是不是等同于 mySignal();  直接调用这个函数。
而信号在C++的语法来看,指示一个没有实体的函数申明。

我的想法是这种机制类似MFC的消息映射,但是这里想不透如何发消息,寻找映射表,运行对应的槽。
想不明白,请教牛人,谢谢。


前面部分是对的。
emit就是一空,你不写emit 信号槽也会触发,
mySignal()就是一个函数调用。
后面就不太对了。Qt是基于C++的。所以mySignal()一定有定义
那谁帮你定义的? MOC - meta object compiler.
定义的实现在哪里? moc_xxxx.cpp里面。

信号槽如何链接上的? --- google or baidu~
------解决方案--------------------
请看moc_xxx.cpp
------解决方案--------------------
还是版主牛逼
------解决方案--------------------
版主解释的很仔细,也很专业。
赞一个
  相关解决方案