Qt入门(3)——信号槽

Qt提供了信号和槽机制用于完成界面操作的响应,是完成任意两个Qt对象间的通信机制。
信号:在某个特定情况或动作下被触发
:接受信号并处理的函数

信号与槽机制的连接方式

  1. 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))

你可能感兴趣的:(QT5,qt5,信号和槽)