Qt-Designerによるレイアウトの自動拡張


217

Qt Designerを使用しています。

QVBoxLayout自動的にウィンドウ全体に拡大するを作成したいと思います。

QVBoxLayout残りのレイアウトは修正されたままです。

QVBoxLayoutデザイナーでウィンドウ全体を拡大して塗りつぶすにはどうすればよいですか?


Qt Designerでレイアウトを使用したいだけの場合は、次のヒントを参考にしてください:stackoverflow.com/questions/1508939/qt-layout-on-qmainwindow

回答:


366

QVBoxLayoutQtデザイナーでを作成した後、ウィジェット/ダイアログ/ウィンドウ(QVBoxLayoutではなく、親ウィジェット)の背景を右クリックし、コンテキストメニューの下部から[ レイアウト]-> [グリッドにレイアウト ]を選択します。QVBoxLayout今すぐウィンドウに合わせてストレッチする必要があり、全体のウィンドウのサイズが変更されたときに自動的にサイズが変更されます。


6
ありがとう、この問題の解決策も探していました。
Simon H.

35
実際には、グリッドレイアウトを作成する必要はまったくありません。自分でQVBoxLayoutを作成する代わりに、すべてのアイテムの選択を解除して、ウィジェットの背景をクリックします。次に、[レイアウト]-> [垂直にレイアウト]を選択します。
Michal Kottman、2011年

3
@Michal Kottman:これは設計時にのみ機能します。ユーザーが実行時にウィンドウのサイズを変更しても、レイアウトは変更されません。
ジェイ

5
グリッドレイアウトと垂直レイアウトの両方が、設計と実行時に機能します。
AndiDog 2013

2
少し詳細を追加したいと思います。QTabWidgetページに自己伸縮レイアウトを追加したい場合、関連するタブではなくQTabWidgetを選択するのと同じように、ページの背景を右クリックすることはできません。あなたはデザイナーのウィンドウに示すように、タブのラベルを右クリックする必要があり、その後、選択レイアウト - > レイグリッドにおけるアウト
エマヌエーレCipolla

15

ドキュメントによると、最上位のレイアウトセットが必要です。

ウィンドウのサイズが変更されたときにウィジェットが正しくサイズ変更されるようにするには、最上位のレイアウトが必要です。トップレベルのレイアウトが設定されているかどうかを確認するには、ウィジェットをプレビューし、サイズグリップをドラッグしてウィンドウのサイズを変更してみます。

選択を解除してフォーム自体を右クリックし、コンテキストメニューで使用可能なレイアウトの1つを選択することで、1つを設定できます。

Qtレイアウト


2

「画面に合わせる」プロパティを見つけようとしましたが、そのようなものはありません。

ただし、ウィジェットの「maximumSize」を「2000 x 2000のような大きな数値」に設定すると、ウィジェットは親ウィジェットのスペースに自動的に適合します。


6
Retinaディスプレイ(2880x1800)を搭載したMacBook Proでこのテクニックを使用するとどうなりますか?
ta.speot.is

1
それを受け入れる最大数に設定するだけで(Designerは16777215と表示しています)、どのモニターサイズでも機能するはずです。
andreb 2013

0

ウィジェットを1つ以上含むレイアウトを追加したら、ウィンドウを選択し、QtDesignerの[更新]ボタンをクリックします。インターフェースは最適化されたサイズにサイズ変更され、レイアウトはウィンドウ全体にフィットします。その後、ウィンドウのサイズを変更すると、レイアウトも同じ方法でサイズ変更されます。


ユーザーがウィンドウ全体のサイズを変更すると、垂直レイアウト(およびそのコンテンツ)がウィンドウに収まるように引き伸ばされます。Qt Designerでどのように表示されるかは気にしません。
Elazar Leibovich、2010

-7

コントロール/ウィジェットのhorizo​​ntalPolicy&VerticalPolicyを"Preferred"に設定します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.