QT的signal和slot的理解
来源:互联网 发布:java博客园 编辑:程序博客网 时间:2024/06/10 02:54
我们知道标准c++中的消息机制是静态的,也就是说发送消息的对象必须明确知道接收对象(或其基类),这个导致和当前的动态消息的事件驱动型的系统不吻合,所以往往要强制去做这种转换。
比如MFC里的消息映射机制就是为了解决静态消息的C++和动态消息的windows系统之间的矛盾而诞生的。
QT中的signal和slot机制,也是这个目的。所有从QObject派生的类都可以包含signal和slot。signal相当于定义了该对象(类)能产生哪种事件(比如可以被click,可以resize等),而不必关心谁去响应它。传统的c++则没办法实现这个,普通对象(类)中的函数只是表示该类具有什么能力(能完成什么任务)。slot相当于定义了该对象(类)可以被回调。这在传统c++中需要用实现回调接口来实现(实现回调接口中的虚函数)。而QT中用了简单的slot语法就可以实现回调接口所完成的任务。 传统c++中从事件到响应需要用到c++的函数调用和回调。但是在QT中只要一个connect就可以关联其消息源和消息目标。
可见QT中这一个小小的改动,其实是对C++消息机制的巨大改进。
我们再明确一个原则,消息往往是由底层向高层发送的。比如windows中的鼠标点击事件:消息是从硬件中断-->OS-->应用程序framework-->应用程序--->具体的对象(窗口处理)。 从左到右是逐级升高的。
- QT的signal和slot的理解
- Qt的slot和signal
- Qt的Signal和Slot机制(一)
- Qt的Signal和Slot机制(二)
- Qt的signal和slot使用心得
- Qt的线程和 signal-slot
- Qt的Signal和Slot机制(一)
- 深入理解QT的SIGNAL\SLOT机制(一):SIGNAL\SLOT如何使用
- Qt的signal/slot机制的原理和使用
- Qt 4自动实现signal和slot的连接
- QT中signal和slot的一些注意点保存
- 实现类似于Qt的Signal和Slot通讯机制
- signal和slot的权限
- Signal和Slot的粘合剂
- QT中的signal/slot的事件
- Java实现Qt的SIGNAL-SLOT机制
- Qt的signal/slot机制原理
- 利用boost.signal模仿Qt的Signal-slot
- 读写文件
- hpunix下jdk安装
- mysql存储过程之游标遍历数据表
- 网络基础
- hdu 1029
- QT的signal和slot的理解
- 水晶报表----子报表
- sql语句插入的数据中含有单引号怎么办?
- linux下jdk安装
- linux下jdk安装
- CComboBox如何排序,并指定某个特殊项在特殊位置
- linux下jdk安装
- AATree的实现
- 图片幻灯片变换(flash操作)