首页 > 解决方案 > 对于这种情况是否有解决方案'当我将边缘拖动到一定程度时,中央 QDockWidget 被隐藏。'?

问题描述

当我将边缘拖动到一定程度时,中央 QDockWidget 被隐藏。我在操作这个我写的Qt Demo时录下了画面。录屏视频链接如下:

录屏


开发环境:QT5 & Qt Creator 4.6.1 & Win10


有两个.ui文件,一个是mainwindow.ui,另一个是第二个mainwindow.ui。

mainwindow.cpp 构造函数:

    ui->setupUi(this);
    ui->mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
    ui->mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);

    QMdiSubWindow *subWindow = ui->mdiArea->addSubWindow(new SecondMainwindow());
    // hide title
    subWindow->setWindowFlags(Qt::FramelessWindowHint);

    subWindow->showMaximized();
    // 
    setCentralWidget(ui->mdiArea);
    // 
    setDockNestingEnabled(true);

secondmainwindow.cpp 构造函数:

    ui->setupUi(this);
    // 
    QWidget* p = takeCentralWidget();
    if(p) {
        delete p;
        p = nullptr;
    }

所有的QDockWidget都是由Qt Designer软件生成的,所有参数都是默认的QDockWidget。那么,是否有一些我没有注意到的细节?谢谢。

标签: qt5qdockwidget

解决方案


推荐阅读