我在 Visual Studio 中使用 Qt(我是新手)4.8.2,并且我创建了一个名为“Contact”的基类。我不希望这个类是 Qt-exclusive,所以我的意图是创建另一个类“QContact”,它将继承“Contact”和 QObject 并处理所有与 Qt 相关的业务,例如 Q_OBJECT 宏等。
不幸的是,当我继承时,构建失败了,说:
moc_QContact.cpp(53): error C2039: 'staticMetaObject' : is not a member of 'Contact'
moc_QContact.cpp(75): error C2039: 'qt_metacast' : is not a member of 'Contact'
moc_QContact.cpp(80): error C2039: 'qt_metacall' : is not a member of 'Contact'
我在网上做了一些研究,发现你不能从非 Qt 类派生 Qt 类。所以要修复它,“Contact”可以继承“QObject”(我试过了,它有效)。但这样做会使其专属于 Qt,这是我的问题。
所以我要问的是:如何为 Qt 类创建非 Qt 基类?
谢谢你。