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

时间:2010-04-07 10:44:49

标签: qt4

我在Qt Creator中创建了一个MDI应用程序(使用Qt 4.6)并添加了QMdiArea。现在,如果我创建新的子窗口,它们会在mdiArea中创建。那完全没问题。但是,mdiArea具有固定大小,既不与主窗口对齐,也不会在主窗口调整大小时更改。

我正在寻找的是最简单的方法:
1)设置要从主窗口继承的mdiArea的初始大小,以及
2)调整主窗口大小时自动调整mdiArea的大小。

如果对ui_mainwindow.h进行了一些更改,那么每次更改mainwindow.ui文件时如何防止Qt Creator将其更改为“正常”?

谢谢!

2 个答案:

答案 0 :(得分:3)

根据您的描述,听起来您的中央窗口小部件上没有布局设置。打开Object Inspector时,centralwidget(它是QMdiArea的父级)旁边的图标应该有一个垂直或水平布局。

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

答案 1 :(得分:-1)

QMdiSubWindow* w = mdiArea->addSubWindow(new QFontDialog());
w->setWindowFlags(Qt::FramelessWindowHint);
w->showMaximized();