我是第一次使用Qt-6,对C++比较业余。我看到了这种类型的类声明,但不理解它的含义。
class XYZ : public QWidget
{
Q_OBJECT
public:
XYZ
...
};
这叫什么?谁能解释一下这是什么或者指出相关的材料/问题。
这是一个类声明,其中类XYZ
继承自一个名为QWidget
的QT内置类,后者是QT中所有用户界面对象的基类(cf:https://doc.QT.io/qt-6/QWidget.html)。
简而言之,宏q_object
允许您使用信号
和插槽
系统(用于QT中的对象之间的通信)以及其他(参见:https://doc.QT.io/qt-6/qobject.html#q_object)。文档是这样说明的:
Q_OBJECT宏必须出现在类定义的私有部分中,该类定义声明自己的信号和插槽,或者使用Qt的元对象系统提供的其他服务。