Qtでウィンドウを大きくしてもウィジェットのサイズが変わらない?




Qt Designerを使ってGUIアプリケーションを作成する時、フォームに部品(ウィジェット)をペタペタ貼り付けていくだけではレイアウトが固定されており、例えばテキストエディタみたいなものを作ろうとしてText Editウィジェットを貼り付けても

実行してウィンドウを拡げた時にText Editの大きさが固定されたままである。

そこでプロパティエディタでウィジェットの sizePolicy プロパティを例えば Expanding に変更しただけでは何らの変化も起きなかった。「Qt」で検索してみてもコードで実現するサンプルはたくさん見つかるが、Qt Designerを使って実現する例はなかなか見つからなかった。そこで「Qt Designer」で検索すると多少ヒントになりそうな記述が見つかった。

GUIアプリケーションプロジェクトを新規作成したばかりの時、フォームは mainwindow.ui というのが1つあるだけで、それを開くと MainWindow というオブジェクトに centralWidget というオブジェクトが乗っているだけだ。この状態でウィジェットを貼り付けていき、 MainWindow を選択して右クリックするとコンテキストメニューが開くはずだ。そしてコンテキストメニューの一番下に「レイアウト」という項目が無いだろうか。その中の適当な項目を選んでレイアウトを設定すると、オブジェクトインスペクタに表示されている centralWidget のアイコンについていた禁止マークが無くなる。

↓↓↓

この状態でビルドし、ウィンドウを拡げてみて欲しい。ウィンドウの大きさに合わせてウィジェットが大きくなっていないだろうか。

関連記事

One Response to “Qtでウィンドウを大きくしてもウィジェットのサイズが変わらない?”

Leave a Reply

アーカイブ