现在推荐使用QWindow进行OpenGL绘制。能否将窗口添加到小部件中?如果可以,应该如何操作?如果不行,那么在使用Qt5的OpenGL程序中如何添加小部件?
QWidget
或 QQuickView
来构建 UI,而不是直接使用 QWindow
。 QWindow
比 QWidget
更低级别。如果您想直接使用 QWindow
,需要做更多的工作才能完成任务。您需要手动完成所有与绘图相关的工作,这并不容易。QWindow
/QGuiApplication
而不是 QWidget
/QApplication
,则可以使用 QBackingStore(由 QWidget
使用)或 SceneGraph
(由 QQuick
在 QWindow::exposeEvent()
中使用)。QPainter
构建最小化 QWindow
应用程序的示例:这里。
QWidget *
来进行 UI 管理(布局等);使用你传递给它的YourWindow *
来处理其他任何事情(逻辑)。 - peppe