我将设计OgreWidget
类-具有Qt的可移植渲染器小部件。
(根据我的设计),我认为我的类需要使用QThread
(用于无限渲染循环)和QWidget
(用于ogre的目标小部件在此处进行渲染)继承。
但是根据许多文档和文章(例如this),不支持使用QObject
进行虚拟继承。
这种继承的结果将是这样的错误:
QObject
是OgreWidget
的模糊基
我应该如何解决这个问题?
PS:在我的旧设计中,我创建了一个单独的QWidget
,并将其作为目标小部件发送给WId
。但是,我现在要设计一个更好,更干净的界面。
最佳答案
这是不可能的,因为QThread
和QWidget
最终都解析为QObject
基类
该线程回答了您的问题:
how can i inherit from both QWidget and QThread?