2

QMainWindowクラスを作成しました。QGridLayoutメイン レイアウトにa をコーディングしましたが、追加するたびに次の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 に答える