信号与槽

介绍:

QT提供信号与槽机制,用于界面的操作响应,完成两个Qt对象的通信。

信号:在特定情况下被动触发。

槽:等同于接收信号,并处理信号的函数。

每个Qt对象都包含若干个预定义的信号,和若干个预定义的槽,当某个特定事件触发时,一个信号被发射,与信号相关联的槽则会被处理。

当一个类被继承时,该类的信号与槽也同时被继承,也可以自定义信号与槽。

信号与槽机制的连接方式:

 1、一个信号可以与另外一个信号连接

1 connect(Object1,SIGNAL(signal1),Object2,SIGNAL(signal));

表示:当Object1的信号1发射时,可以触发Object2的信号1发射。

 2、同一个信号可以与多个槽连接:

1 connect(Object1,SIGNAL(signal1),Object2,SIGNAL(slot1));
2 connect(Object1,SIGNAL(signal1),Object2,SIGNAL(slot2));

3、同一个槽可以响应多个信号:

1 connect(Object1,SIGNAL(signal1),Object2,SIGNAL(slot2));
2 connect(Object2,SIGNAL(signal1),Object2,SIGNAL(slot2));

常见连接方式:

1 connect(Object1,SIGNAL(signal1),Object2,SLOT(slot));  //slot是Object2对象的槽。

SIGNAL()和SLOT()是Qt的宏。

....后续跟进深入理解

 

posted @ 2019-04-20 10:08  e-data  阅读(287)  评论(0编辑  收藏  举报