Qt - Q_OBJECT与#include <QObject>

Sim*_*ity 4 c++ qt qobject

使用Q_Object宏并#include <QObject>具有相同的效果吗?换句话说,它们是出于同一目的的两种不同方式吗?

谢谢.

Mat*_*Mat 11

不需要Q_OBJECT.除了包含正确的标题之外,您还需要在类定义中找到您想要信号/插槽的内容.

来自QObjectapi文档:

请注意,Q_OBJECT宏对于实现信号,槽或属性的任何对象都是必需的.您还需要在源文件上运行元对象编译器.我们强烈建议在QObject的所有子类中使用此宏,无论它们是否实际使用信号,插槽和属性,因为如果不这样做可能会导致某些函数出现奇怪的行为.

只需查看Qt文档中的各种示例,即可获得更多详细信息和示例代码.该信号和槽的参考是看的好地方.另请参阅对象模型参考.