将Qt窗口形式调整为预构建的QWindow

时间:2016-06-29 19:43:31

标签: c++ qt opengl

我正在测试我下载的没有“mainwindow.ui”的项目,但主窗口是以编程方式继承QWindow而创建的。

OpenGLWindow::OpenGLWindow(QScreen* screen ): QWindow(screen)

它工作正常但当然在这个窗口上添加新元素并不像使用Qt设计器那么快。因此,我想知道在使用Qt设计器创建新表单之后是否有办法将新窗口提升到现有的OpenGLWindow,以便我可以在“newwindow.ui”中查看其内容。我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

我不完全确定,但是这个一般的想法应该有效,假设您创建的窗口类名为NewWindow:

class OpenGLWindow : public QWindow {
    Ui::NewWindow *ui; // Add this variable
    /* rest of class */
}

#include <ui_newwindow.h>
OpenGLWindow::OpenGLWindow(QScreen* screen): QWindow(screen), ui(new Ui::NewWindow) {
    ui->setupUi(this);
    /* rest of constructor */
}

然后不要忘记在析构函数中删除ui