首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

emit 纳闷

2013-07-04 
emit 疑惑emit 查看代码,发现是一个空宏。如果emit mySignal() 是不是等同于 mySignal()直接调用这个函数

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
[解决办法]
还是版主牛逼
[解决办法]
版主解释的很仔细,也很专业。
赞一个

热点排行