2

我创建了一个QMainWindow类。我为主布局编写了一个代码QGridLayout,但是每当我添加setLayout(grid);这个错误时:

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

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

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

4

2 回答 2

6

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

于 2012-12-01T16:26:05.387 回答
4

QMainWindow自带布局,不能直接设置。

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

于 2012-12-01T16:24:34.983 回答