c++ - QThread 和 QWidget 的多重继承( Multiple inheritance with QObject )

标签 c++ qt multiple-inheritance qobject ogre

我要设计 OgreWidget 类 - 一个带有 Qt 的可移植渲染器小部件。

(根据我的设计),我认为我的类需要继承QThread(无限渲染循环)和QWidget(食人魔在那里渲染的目标小部件) .

但根据许多文档和文章(例如 this),不支持 QObject 的虚拟继承。 这种继承的结果会是这样的错误:

QObject is an ambiguous base of OgreWidget

我该如何解决这个问题?

PS:在我的旧设计中,我创建了一个单独的 QWidget ,并将它的 WId 作为目标小部件发送到我的 OgreWidget 。但是,我现在要设计一个更好更简洁的界面。

最佳答案

那是不可能的,因为QThreadQWidget最终都解析为QObject基类

这个话题回答了你的问题: how can i inherit from both QWidget and QThread?

关于c++ - QThread 和 QWidget 的多重继承( Multiple inheritance with QObject ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7333419/

相关文章:

c++ - 什么会导致 "can' t 链接到共享库上的主可执行文件?

java - Python 中的多重继承;如何在 Java 中这样做?

c++ - 具有模板功能的跨平台类

c++ - Qt中如何正确使用adjustSize()

c++ - 上传 .csv 或 .txt 文件以填充 QTableView

C++:使用继承的类的内存布局

c++ - 多重继承和数据成员

c++ - 为非数组元素重载下标运算符

C++ 破坏函数错误!

c++ - R 和 Simmer : Performance boost on large data frames