QT宏详解Q_OBJECT、Q_PROPERTY、Q_CLASSINFO、Q_ENUM、SIGNAL、SLOT、Q_FOREACH、Q_DECLARE_INTERFACE
在Qt中,有许多常用的宏用于简化开发、提高效率以及确保代码的可移植性。以下是一些常见的Qt宏:
1. QObject 宏
1.1 Q_OBJECT: 在类的声明中使用,表示该类是Qt对象,可以使用信号和槽机制
-
1.1.1 使用 Q_OBJECT 宏的规则
-
必须在类的私有(private)或者保护(protected)部分中声明: Q_OBJECT 宏必须在类的私有或者保护部分中声明,而且通常应该是类的第一个声明。
-
必须继承自 QObject: 使用 Q_OBJECT 宏的类必须直接或者间接继承自 QObject。
-
必须位于 .h 文件中: Q_OBJECT 宏通常被放置在类的头文件(.h文件)中。
-
-
1.1.2 使用 Q_OBJECT 宏功能和特性
-
信号与槽机制(Signal and Slot Mechanism): 使用 Q_OBJECT 宏声明的类可以使用信号与槽机制。信号和槽是Qt中一种用于处理事件和消息传递的机制,使得对象能够在事件发生时通知其他对象并做出相应的响应。
-
运行时类型信息(Run-Time Type Information, RTTI): 使用 Q_OBJECT 宏的类在运行时拥有元对象(Meta-Object)的信息。元对象是描述类的信息的数据结构,包括类的名称、父类信息、信号、槽等。这种元对象系
-