自学QT,第一部分,信号与槽

来源:互联网 发布:股票贵金属基金软件 编辑:程序博客网 时间:2024/05/17 09:16

新人自学QT,为了加强记忆,也为了学习更多,希望通过博文可以与大家共同进步,多谢大家指教

一,定义

     信号和槽机是QT提供的一种用于完成界面操作响应,完成任意两个对象之间通信的机制。其中信号通过某个特定的方式被触发,槽等同于接收并处理信号的函数。

每个QT对象都包括若干个预定义的信号和槽,当某一个类被继承是,信号和槽也被继承。

二,信号与槽的连接方式

1.同一个信号可以与多个槽连接

connect(Object1,SIGNAL(signal),Object2,SIGNAL(slot2));

connect(Object1,SIGNAL(signal),Object3,SIGNAL(slot1));

2.一个信号可以与另一个信号连接

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

3.一个槽可以响应多个信号

connect(Object1,SIGNAL(signal),Object2,SIGNAL(slot1));

connect(Object3,SIGNAL(signal),Object2,SIGNAL(slot1));

最常用的连接方式

connect(Object1,SIGNAL(signal),Object2,SLOT(slot));

三.SIGNAL和SLOT是QT预定义的两个宏,他们返回其参数为C语言风格的字符串(const char *),因次

connect(Object1,SIGNAL(clicked()),this,SLOT(Showarea());

connect(Object1,"clicked()",this,"Showarea()");是等价的。

四。信号与槽机制的特点

1.类型安全

2.松散耦合



0 0
原创粉丝点击