我要设计 OgreWidget
类 - 一个带有 Qt 的可移植渲染器小部件。
(根据我的设计),我认为我的类需要继承QThread
(无限渲染循环)和QWidget
(食人魔在那里渲染的目标小部件) .
但根据许多文档和文章(例如 this),不支持 QObject
的虚拟继承。
这种继承的结果会是这样的错误:
QObject
is an ambiguous base ofOgreWidget
我该如何解决这个问题?
PS:在我的旧设计中,我创建了一个单独的 QWidget
,并将它的 WId
作为目标小部件发送到我的 OgreWidget
。但是,我现在要设计一个更好更简洁的界面。
最佳答案
那是不可能的,因为QThread
和QWidget
最终都解析为QObject
基类
这个话题回答了你的问题: how can i inherit from both QWidget and QThread?
关于c++ - QThread 和 QWidget 的多重继承( Multiple inheritance with QObject ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7333419/