Qt入门(3)——信号槽
2017-05-14 00:05
162 查看
Qt提供了信号和槽机制用于完成界面操作的响应,是完成任意两个Qt对象间的通信机制。
信号:在某个特定情况或动作下被触发
槽:接受信号并处理的函数
2.信号与槽的连接方式
a)信号可以与信号相连
b)同一个信号可以和多个槽相连
c)同一个槽可以和多个信号相连
信号:在某个特定情况或动作下被触发
槽:接受信号并处理的函数
信号与槽机制的连接方式
QObject::connect() 的五个重载QMetaObject::Connection connect(const QObject *, const char *, const QObject *,const char *,Qt::ConnectionType); QMetaObject::Connection connect(const QObject *, const QMetaMethod &,const QObject *, const QMetaMethod &, Qt::ConnectionType); QMetaObject::Connection connect(const QObject *, const char *,const char *,Qt::ConnectionType) const; QMetaObject::Connection connect(const QObject *, PointerToMemberFunction,const QObject *, PointerToMemberFunction,Qt::ConnectionType) QMetaObject::Connection connect(const QObject *, PointerToMemberFunction,Functor);
2.信号与槽的连接方式
a)信号可以与信号相连
//Object1的信号1发射可以触发Object2的信号1发射 connect(Object1,SIGNAL(signal1),Object2,SIGNAL(signal1))
b)同一个信号可以和多个槽相连
connect(Object1,SIGNAL(signal2),Object2,SIGNAL(slot2)) connect(Object1,SIGNAL(signal2),Object3,SIGNAL(slot1))
c)同一个槽可以和多个信号相连
connect(Object1,SIGNAL(signal2),Object2,SIGNAL(slot2)) connect(Object3,SIGNAL(signal2),Object2,SIGNAL(slot2))