【发布时间】:2011-03-13 04:35:00
【问题描述】:
在我的 Qt 应用程序中,我有一个如下基类。我使用QObject 是因为我想在所有派生类中使用 Signal-Slot 机制。
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
【问题讨论】:
标签: c++ qt qt4 multiple-databases