【发布时间】:2012-04-16 23:10:09
【问题描述】:
我有几个不同的基于 QGlWidget 的显示小部件,我需要将它们嵌入到基于 MDI 或 QDockwidget 的应用程序中。但我需要在我的显示小部件中处理一些 MDI/Dock 特定事件(最小化/停靠等)
选项是:
乘以从 QGlWidget 和 QMdiSubWindow/QDockWidget 继承显示小部件。多重继承和信号/槽有什么问题吗?
将显示器封装在 QMdiSubWindow/QDock 派生的小部件中,但我必须将显示器的所有外部函数包装在 Mdi/Dock 包装器小部件中。
当我创建一个新窗口时,创建一个临时 Mdi/Dock 小部件,将所有特殊信号连接到显示器中的插槽,然后将显示器连接到它并显示它。但这不适用于事件。
一些 QSignalMapper 魔术,我可以在 QGlWidget 中接收 QMdiSubWindow/QDockWidget 特定信号
【问题讨论】:
-
Qt 不支持在同一个对象中从 QObject 继承两次,所以假设 QGIWidget 是 QWidget 的子类,你的第一个选项是行不通的......
-
@JeremyFriesner - 谢谢,我认为它不起作用
标签: c++ qt qt-signals