私はQGridLayout
に6行のウィジェットをいくつか持っています。行1,3および5には、ファイル選択ダイアログを開くQLabel
,QLineEdit
およびQPushButton
が含まれています。行2,4、および6には、ユーザーに検証エラーを表示するために使用されるQLabel
が含まれています。エラーは、下の画像に隠されています。QGridLayoutのウィジェットが重複しないようにするにはどうすればいいですか?
ウィンドウが好きなだけスペースを取ることができる場合、この問題は表示されません。私は全くのウィンドウのサイズを制限する場合でも、このリスト内の要素は次のようになります。
はだから私の質問ですが、私は確実んかQGridLayout内のすべてのqwidgetsは、できるだけ多く取ることができること彼らが必要とするスペース?
EDIT:@Avaris'の提案に続き 、私はQGridLayout
(全6行)の各ウィジェットのsetMinimumSize()
を呼び出して試みたが、目に見える要素がずっとよく見える(おかげで、@Avaris!)。しかし、今私は検証エラーが発生すると、エラー自体(赤QLabel
)は、他のウィジェットの上に置かれます。重複しないようにQGridLayoutを強制できますか?ここで
は、それが今のようになります。
これらのウィジェットの最小サイズを何か小さく設定しましたか? – Avaris
@Avaris、私はあなたの提案を試み、それは目に見える要素のためにうまくいきます。しかし、他の行(隠された 'QLabel'を含む)が他の要素の上に表示されるようになりました。それらをすべて強制的に一致させることはできますか?ありがとう! – James
私は最小サイズを設定することを提案していません:)。あなたが前に何かを設定したかどうか聞いていました。ウィジェットのサイズを設定していない場合は、そのサイズを小さくするべきではありません。いくつかのコードを投稿できますか? – Avaris