为什么我不能将QGridLayout添加到QMainWindow?

时间:2012-12-01 16:20:33

标签: c++ linux qt

我创建了一个QMainWindow课程。我为主要布局编了QGridLayout,但每当我添加setLayout(grid);时,都会出现此错误:

QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout

据我所知,我之前没有在我的代码中添加任何类型的布局。

我正在使用Qt Creator并使用Linux(ubuntu 12.10)。

2 个答案:

答案 0 :(得分:5)

您可以做的是创建一个QWidget,将其设置为中央窗口小部件,并为此布局提供一个布局。 QMainWindow已经有自己的布局来放置状态栏和主菜单,因此你不能直接设置另一个。

答案 1 :(得分:4)

QMainWindow有自己的布局,你无法直接设置。

可能应该在中央窗口小部件上设置您的布局,或者如果您不想要它的布局/功能,可能根本不使用QMainWindow