我有一个QMainWindow
,我在主窗口中插入了mdiArea
您必须先看到以下图片:
如您所见,灰色区域为mdiArea
,主窗口与mdiArea
之间的空格(边距)是我要删除的内容。
我使用了setContentsMargins
函数,但没有做任何事情。
如何删除这些空格?
我希望如下图所示:
答案 0 :(得分:9)
QMainWindow
有一个中央小部件,它有一个布局。您在QMainWindow
上使用的布局应该在其中央窗口小部件上使用。因此你必须致电
QWidget* QMainWindow::centralWidget()
首先,
因此您可以先获取中央窗口小部件然后再使用
void QLayout::setContentsMargins(int left, int top, int right, int bottom)
调整其布局。下图来自Qt的文档。
不支持在没有中央窗口小部件的情况下创建主窗口 。即使它只是占位符,您也必须拥有一个中央窗口小部件。
例如,您可以在QMainWindow
的构造函数中包含以下内容:
centralWidget()->layout()->setContentsMargins(0, 0, 0, 0);
statusBar()->hide();
ui->mainToolBar->hide();
状态栏和工具栏已被隐藏,以便尽可能多地删除空格。