私はQt(私は初めてです)4.8.2をVisual Studioで使用しており、「Contact」という名前の基本クラスを作成しました。このクラスを Qt 専用にしたくないので、「Contact」と QObject を継承する別のクラス「QContact」を作成し、Q_OBJECT マクロなどのすべての Qt 関連のビジネスを処理するつもりでした。
残念ながら、私が継承したとき、ビルドは失敗しました。
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'
Web で少し調査したところ、非 Qt クラスから Qt クラスを派生させることはできないことがわかりました。それを修正するために、「Contact」は「QObject」を継承できました(試してみましたが、うまくいきました)。しかし、そうすると、私の問題であるQt専用になります。
だから私が尋ねるのはこれです: Qt クラスの Qt 以外の基本クラスを作成するにはどうすればよいですか?
ありがとうございました。