Qt4 如何与主窗口一起调整QMdiArea的大小?

Qt4 如何与主窗口一起调整QMdiArea的大小?,qt4,Qt4,我在QtCreator中创建了一个MDI应用程序(使用Qt4.6),并向其中添加了QMdiArea。现在,如果我创建新的子窗口,它们将在MDI区域内创建。那很好。但是,MDI区域的大小是固定的,它既不与主窗口对齐,也不随主窗口的大小而改变 我要找的是最简单的方法: 1) 设置要从主窗口继承的mdiArea的初始大小,然后 2) 调整主窗口大小时自动调整MDI区域的大小 如果需要对ui\u mainwindow.h进行一些更改,如何防止Qt Creator在每次我更改mainwindow.ui文件

我在QtCreator中创建了一个MDI应用程序(使用Qt4.6),并向其中添加了QMdiArea。现在,如果我创建新的子窗口,它们将在MDI区域内创建。那很好。但是,MDI区域的大小是固定的,它既不与主窗口对齐,也不随主窗口的大小而改变

我要找的是最简单的方法:
1) 设置要从主窗口继承的mdiArea的初始大小,然后
2) 调整主窗口大小时自动调整MDI区域的大小

如果需要对
ui\u mainwindow.h
进行一些更改,如何防止Qt Creator在每次我更改
mainwindow.ui
文件时将其更改回“正常”


谢谢

根据您的描述,听起来您的中心小部件上没有设置布局。打开“对象检查器”时,centralwidget(QMdiArea的父对象)旁边的图标应具有垂直或水平布局


要解决此问题,不应编辑ui_mainwindow.h文件。它是自动生成的,您所做的更改将丢失。而是打开“对象检查器”窗口。单击QMain窗口,然后打开表单菜单并选择“垂直布局”。

您应该在回答的基础上展开一些解释,并澄清您回答的部分以及它们是如何完成的。晚了,但为了完整性:检查布局边框即使我这样做,灰色区域也有一个奇怪的填充。
QMdiSubWindow* w = mdiArea->addSubWindow(new QFontDialog());
w->setWindowFlags(Qt::FramelessWindowHint);
w->showMaximized();