私の Qt アプリケーションには、次のような基本クラスがあります。すべての派生クラスで Signal-Slot メカニズムを使用QObject
したいので、使用しています。
class IRzPlugin : public QObject {
public:
virtual void registerMenu(QWidget*);
virtual void execute();
}
次に、次のような別のクラスがあります。すべての派生クラス ( など)でQWidget
イベント処理メソッドを実装する必要があるため、から拡張する必要があります。mouseMoveEvent()
keyPressEvent()
class IRzLayeringPlugin : public IRzPlugin , public QWidget{
}
しかし、コンパイラはこれらのエラーを出します:
C:\svn\osaka3d\tags\iter08\prototype\osaka3d\rinzo\plugin\moc_IRzLayeringPlugin.cxx: In member function `virtual const QMetaObject* IRzLayeringPlugin::metaObject() const':
C:\svn\osaka3d\tags\iter08\prototype\osaka3d\rinzo\plugin\moc_IRzLayeringPlugin.cxx:51: error: `QObject' is an ambiguous base of `IRzLayeringPlugin'
C:\svn\osaka3d\tags\iter08\prototype\osaka3d\rinzo\plugin\moc_IRzLayeringPlugin.cxx:51: error: `QObject' is an ambiguous base of `IRzLayeringPlugin'
make[2]: *** [CMakeFiles/Rinzo.dir/plugin/moc_IRzLayeringPlugin.cxx.obj] Error 1