QT信号与槽的使用
来源:互联网 发布:怎么做好网页设计知乎 编辑:程序博客网 时间:2024/06/03 23:44
QT是个很好的图形库,并且QTCreater编辑器非常好用,感觉是用过最好的了,刚开始学,先就拿来主义把,先不管怎么实现,先用上了再说。
信号与槽主要是用于两个对象之间的通讯而设计的,有了它可以很方便的建立两个不同类型或是不同级别对象的通讯。
信号与槽机制的连接方式
1、一个信号与一个槽相连
connect(Object1,SIGNAL(signal),Object2,SLOT(slot));
其中,signal为对象Objetc1的信号;slot为对象Object2的槽。
比如定义一个button的信号/槽机制:connect(button_name,SIGNAL(clicked()),this,SLOT(functions_name(arguments)));
也可写成:connect(button_name,“clicked()”,this,“functions_name(arguments)”);
2、一个信号与另一个信号相连
connect(Object1,SIGNAL(signal1),Object2,SIGNAL(signal2));
表示Object1的信号1发射可以触发Object2的信号2发射。
3、同一个信号与多个槽相连
connect(Objector1,SIGNAL(signal1),Objector2,SLOT(slot1));
connect(Objector1,SIGNAL(signal1),Objector3,SLOT(slot2));
4、同一个槽可以响应多个信号
connect(Objector1,SIGNAL(signal1),Objector2,SLOT(slot1));
connect(Objector2,SIGNAL(signal1),Objector2,SLOT(slot1));
信号与槽机制的优点
(1)类型安全
信号的参数类型和参数个数同接收该信号的槽的参数类型和参数个数相同。不过,一个槽的参数个数可以少于信号的参数个数,但缺少的参数必须是信号参数的最后一个或几个参数。
(2)松散耦合
信号和槽机制减弱了Qt对象的耦合度。激发信号的Qt对象无须知道是哪个对象的那个槽需要接收它发出的信号,只需要做的是在适当的时间发送适当的信号就可以了,而不需要知道也不需要关心它的信号有没有被接收到。
注:一个类若要支持信号和槽,就必须从QObject或QObject的子类继承,Qt信号和槽机制不支持对模板的使用。
信号与槽机制的效率
信号和槽机制增强了对象间的通信的灵活性,然后也损失了一些性能。同回调函数相比,信号与槽机制运行速度有些慢。
- QT信号与槽的使用
- Qt 的信号与槽
- Qt 信号与信号,信号与槽
- qt 信号与槽初步使用
- qt 槽与信号
- QT信号与槽
- QT 信号与槽
- QT信号与槽
- Qt信号与槽
- Qt信号与槽
- QT信号与槽
- Qt信号与槽
- QT信号与槽
- QT信号与槽
- Qt信号与槽
- Qt信号与槽
- QT 信号与槽
- Qt信号与槽
- 学习写出美观的代码
- Spring中的MethodInvokingFactoryBean使用
- 各类程序员学习路线图
- Ubuntu 中采用 update-alternatives 配置软件多版本
- HttpModule动态注册与配置注册
- QT信号与槽的使用
- linux 安装maven私服nexus
- JAVA开发环境及基础知识
- HDU
- 基于paho在android平台上实现MQTT Client间的简单通信
- 返回引用类型的函数指针(c++)
- Sublime Text 3 for Mac 使用心得
- 计算机网络
- ubuntu命令大全