11

一緒にQDialog仕事をしています。やや。のように作られていQMessageBoxます。QMessageBox(およびそのラベルのサイズ)のサイズは、表示されるメッセージのサイズに依存することに気づきました。

QDialog調整のサイズを自動的に調整するにはどうすればよいQMessageBoxですか?現在、私QDialogにはボタンボックスとラベルが含まれており、QDialogレイアウトは垂直です。

(メッセージボックスを直接使用できることはわかっていますが、最終的にはより複雑なダイアログが表示されます。)

4

3 に答える 3

21

自動解決:

レイアウトを使用し、サイズ ポリシーを に設定しQSizePolicy::Expandingます。QtDesigner で、すべての子を QDialog に配置したら、次のレイアウトの [サイズを調整] ボタンをクリックします。QDialog は実行時に自動的にサイズ変更されます。

手動ソリューション:

このQWidgetクラスには、adjustSizeコンテンツに合わせて QWidget のサイズを変更するメソッドがあります。すべての子が設定されたら呼び出すだけです。

于 2009-11-05T09:37:20.427 に答える
1

ダイアログを拡大して非常に小さく設定します。次に、ダイアログを表示する前に必ずメッセージを設定してください。表示されると、含まれるオブジェクトのサイズに基づいて、適切なサイズを見つけようとします。(これは再帰的に発生するため、ダイアログがメッセージを表示するラベルの直接の親でない場合は、ラベルとダイアログの間のすべてがレイアウトを使用するように設定されていることを確認してください。)

于 2009-11-04T21:15:08.220 に答える