【发布时间】:2019-11-12 20:10:58
【问题描述】:
我正在为客户更新应用程序。
他们使用 Qt,目前使用 QGLWidget 来显示通过单击相应单选按钮选择的 4 个可能摄像机中的 1 个的全屏视图。然后他们使用 OpenGL 在显示的图像上绘图。这很好用,但他们想更新 UI 以包含所有 4 个摄像头的四分割视图。
我对如何实现这一点的第一个想法是保留一个 QGLWidget 用于全屏显示,并有 4 个小的 QGLWidget 用于四分割。从文档中我发现您不能重叠 QGLWidgets 或 QOpenGLWidgets,因为它们不能正确处理 z 顺序,但这可以通过使用 QOpenGLWindows 和 QWidget::createWindowContainer 来完成。
所以,我编写了一个应用程序,该应用程序使用 QOpenGLWidget(试图使它们更新)用于全屏视图,并使用 QWidget::createWindowContainer 编写了 4 个较小的 QOpenGLWindows,但这也不起作用。
从 QOpenGLWindows 构建的小部件始终位于顶部,即使我使用 lower() 试图将它们放在全屏 QOpenGLWidget 后面。我也尝试在从 QOpenGLWindows 构建的小部件上使用 hide(),但是,这没有任何效果。
【问题讨论】:
-
显示(至少部分)您的代码将帮助其他人更快地找到错误。
标签: c++ qt opengl qglwidget qopenglwidget