首页 > 代码库 > 【QT】信号和槽

【QT】信号和槽

信号和槽机制是QT对C++的拓展,只有QOBject的子类才具有这种功能。

支持信号和槽的类必须从QObject派生,并且用Q_OBJECT宏开始定义类。

 

信号和槽的意义在于:调用者和被调用者分离,实现高内聚,低耦合。

 

信号的定义:

  在类中,用signals标识符表示。

  signal的声明和函数的声明格式是一样的,但是不需要实现。

  signal没有访问权限的概念,默认是protected。

槽函数的定义:

  在类中,用slots来表示槽。

  它可以设置访问权限。

  他可以实现和普通函数一样。

  它可以像普通函数一样被调用。

信号和槽的链接

  信号和槽可以多对多。

  也可以传导,即信号可以链接信号。

  信号的参数必须比槽多或者一样。

  信号的参数和槽的参数类型要一致。

  信号和槽都支持重载。

信号的调用

  emit mysignal(); 用emit保留字调用信号函数。

 

【QT】信号和槽