我正在为客户更新应用程序。
他们使用 Qt,目前使用 QGLWidget 来显示通过单击相应单选按钮选择的 4 个可能摄像机中的 1 个的全屏视图。然后他们使用 OpenGL 在显示的图像上绘图。这很好用,但他们希望更新 UI 以包含所有 4 个摄像头的四分割视图。
我对如何实现这一点的第一个想法是保留一个 QGLWidget 用于全屏显示,并有 4 个小 QGLWidgets 用于四分割。从文档中我发现您不能重叠 QGLWidgets 或 QOpenGLWidgets,因为它们不能正确处理 z 顺序,但这可以通过使用 QOpenGLWindows 和 QWidget::createWindowContainer 来完成。
所以,我编写了一个应用程序,它使用 QOpenGLWidget(试图使它们更新)作为全屏视图,并使用 QWidget::createWindowContainer 编写了 4 个较小的 QOpenGLWindows,但这也不起作用。
即使我使用 lower() 试图将它们放在全屏 QOpenGLWidget 后面,从 QOpenGLWindows 构建的小部件始终位于顶部。我还尝试在从 QOpenGLWindows 构建的小部件上使用 hide(),但是,这没有任何效果。