どのように私はその子の1つのテキストの長さに応じて、QDialogのサイズを自動調整していますか?
質問
私は私が働いているQDialog
を持っています。これは、ややQMessageBox
のように行われます。私はQMessageBox
の大きさ(とそのラベルのサイズ)が表示されたメッセージのサイズに依存していることに気づいています。
どのように私は私のQDialog
のサイズはQMessageBox
のように自動的に調整するだろうか?現在、私のQDialog
は、ボタンボックスとラベルが含まれており、QDialog
はレイアウト垂直である。
(私はちょうど直接メッセージボックスを使用することができます知っているが、最終的に、私は、より複雑なダイアログを持つことになります。)
解決
自動ソリューション:
マニュアルソリューション:
QWidget
クラスはメソッド adjustSize
のことを持っていますその内容に合わせてQWidgetのサイズを変更します。すべての子が設定されているときちょうどそれを呼び出します。
他のヒント
拡大するためにあなたのダイアログを設定し、非常に小さいです。すると、ダイアログを表示する前にあなたのメッセージを設定してください。示された場合、それが含まれているオブジェクトのサイズに基づいて、その適切なサイズを見つけようとします。 (これは再帰的に起こるので、ダイアログでは、あなたのメッセージを表示するラベルの直接の親でない場合は、ラベルとダイアログ間のすべてがレイアウトを使用するように設定されていることを確認してください。)
所属していません StackOverflow