2012-12-01 5 views
2

나는 QMainWindow 클래스를 만들었습니다. 나는 메인 레이아웃에 대한 QGridLayout 코딩,하지만 난 setLayout(grid);를 추가 할 때마다이 오류가납니다 : QMainWindow에 QGridLayout을 추가 할 수없는 이유는 무엇입니까?

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

는 지금까지 내가 아는 한, 내가 전에 내 코드에서 레이아웃의 모든 종류를 추가하지 않았습니다.

Qt Creator를 사용하고 있으며 Linux (ubuntu 12.10)를 사용하고 있습니다.

답변

5

QWidget을 작성하여 중앙 위젯으로 설정하고이 배치를 배치하십시오. QMainWindow는 이미 상태 표시 줄과 메인 메뉴를 배치하기 위해 자체 레이아웃을 가지고 있으므로 다른 것을 직접 설정할 수는 없습니다.

4

QMainWindow은 자체 레이아웃이 제공되므로 직접 설정할 수 없습니다.

은 레이아웃을 중앙 위젯에 설정해야하며, 레이아웃/기능을 원하지 않는 경우에는 QMainWindow을 전혀 사용하지 않아야합니다.

관련 문제