1 简介
信号和槽机制是Qt编程的基础。它可以让编程人员将两个没有任何联系的对象绑定在一起。类似于windows下消息机制,它是基于回调函数,而Qt中信号与槽来代替函数指针,3程序更安全简洁。
2 信号
当对象的状态改变时,信号就由该对象通过关键字emit发射出去,且对象只负责发送信号,它不知道另一端是谁在接受这个信号。这样就做到了正真的信息封装,能确保对象当作一个真正的软件组件来使用。
3 槽
用来接受信号,而且槽知识普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连。而且对象并不了解具体的通信机制。
4 信号与槽的连接
所有从 QObject 或其子类 ( 例如 Qwidget ) 派生的类都能够包含信号和槽。因为信号与槽的连接是通过 QObject 的 connect() 成员函数来实现的。可根据对象继承的顶级父类可知道是否支持信号和槽。Inherits: QWidget.
信号与槽的连接如:
connect(sender, SIGNAL(signal), receiver,SLOT(slot));
这里的sender和receiver是指向QObject的指针,signal和slot函数名。SIGNAL和SLOT宏将它们的参数转换成相应的字符串。注意:s