信号和槽机制是QT对C++的拓展,只有QOBject的子类才具有这种功能。
支持信号和槽的类必须从QObject派生,并且用Q_OBJECT宏开始定义类。
信号和槽的意义在于:调用者和被调用者分离,实现高内聚,低耦合。
信号的定义:
在类中,用signals标识符表示。
signal的声明和函数的声明格式是一样的,但是不需要实现。
signal没有访问权限的概念,默认是protected。
槽函数的定义:
在类中,用slots来表示槽。
它可以设置访问权限。
他可以实现和普通函数一样。
它可以像普通函数一样被调用。
信号和槽的链接
信号和槽可以多对多。
也可以传导,即信号可以链接信号。
信号的参数必须比槽多或者一样。
信号的参数和槽的参数类型要一致。
信号和槽都支持重载。
信号的调用
emit mysignal(); 用emit保留字调用信号函数。
原文地址:http://www.cnblogs.com/shichuan/p/3983816.html