Qt窗口错误与OpenGL

时间:2018-03-22 17:18:07

标签: c++ qt opengl

Snapshot of interface

Snapshot of interface after fullscreen

我创建了一个Qt界面来可视化3D模型(点云)和图像。问题是,当我切换到全屏时,(例如使用按键F1),我按预期获得全屏模式。但是当我切换到普通模式时,3D模型会在小部件中消失,如下图所示。

在QMainWindow中插入QGLWidget:

QMainWindow:setCentralWidget(viewerWidget);

我们的3D引擎类,OpenGLViewer继承了QGLWidget

切换完整窗口的功能如下:

void OpenGLViewer::toggleFullWindow()
{
    if (isFullScreen()) {
        setWindowFlags(Qt::Widget);
        showNormal();
    }
    else {
        setWindowFlags(Qt::Window);
        showFullScreen();
    }
}

我的ui小部件就像这样

QLabel* App::createViewerBox()
{
   viewerWidget = dynamic_cast<QWidget*>(viewer);
   QHBoxLayout *layoutHor = new  QHBoxLayout();
   QLabel *frame = new QLabel();
   layoutHor->addWidget(viewerWidget,Qt::AlignJustify);
   frame->setLayout(layoutHor);

   return frame;

}

0 个答案:

没有答案