相关疑难解决方法(0)

Qt/C++中多重继承的正确方法是什么?

在我的Qt应用程序中,我有一个基类如下.我正在使用QObject,因为我想在所有派生类中使用Signal-Slot机制.

class IRzPlugin : public QObject {

public:
  virtual void registerMenu(QWidget*);
  virtual void execute();
}
Run Code Online (Sandbox Code Playgroud)

然后我有另一个课程如下.我需要从QWidget扩展,因为我需要在所有派生类中实现事件处理方法.(mouseMoveEvent(),keyPressEvent().. etc);

class IRzLayeringPlugin : public IRzPlugin , public QWidget{

}
Run Code Online (Sandbox Code Playgroud)

但编译器给出了这些错误:

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
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 multiple-databases

12
推荐指数
2
解决办法
8290
查看次数

标签 统计

c++ ×1

multiple-databases ×1

qt ×1

qt4 ×1