`
qimo601
  • 浏览: 3456992 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Qt 信号槽 signals slots 特点 限定符的区别

阅读更多

 

1. 信号槽应用于对象间通信。

2. 信号槽的处理借助于moc(Meta Object Compiler)工具,Q_OBJECT宏通知compiler使用moc工具进行moc扩展。

3. 对象中的信号不是真正的函数,编译时由moc自动产生,返回类型void,槽是函数。

4. 多个被触发者执行顺序随机。

5. 在非跨线程场景下,槽返回后,emit()才返回。此时Object::connect函数的ConncetionType参数为Qt::DirectConnection。

6. 槽参数不能有缺省值。

7. public slots:任何对象的信号或槽都可以触发;protected slots:当前类中的对象与子类中的对象的信号或槽可以触发;private slots:本类中定义的信号或槽可以触发。

8. 信号形参会全部传递给槽,但后者不一定全部接收。

9. moc 不扩展宏,所以信号与槽参数中不能包含宏。

10. 构造函数、嵌套类与友元类,不能在 signals: or slots: 区域内声明。

11. typedef之前,函数指针与模板类不能作为槽的参数。

12. 信号与事件的区别是事件可以触发信号,事件关注控件的实现,而信号关注其使用。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics