手动继承QObject

\dahengcontroller.h:36: error: Class declaration lacks Q_OBJECT macro.
如果使用信号和槽 必须继承QObject
有时一开始不需要信号槽,后来越写越大越复杂,可能就需要信号槽
假设一开始我们在创建时没有在选项中选择,那么就要手动设置

三步走(删除线是我后加的)
1.--------------------------------------------------------------------------
h文件
class DahengController : public QObject
{
Q_OBJECT

}
2.--------------------------------------------------------------------------
cpp文件
DahengController::DahengController(): QObject(nullptr)
{

}
此时编译会出现
dahengcontroller.obj: -1 : error: LNK2001: 无法解析的外部符号 “public: virtual int __cdecl DahengController::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@DahengController@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)

还需要3.--------------------------------------------------
清理解决方案

完成

你可能感兴趣的:(qt,qt)