1

高さを制御する QVBoxLayout を持つ QDialog があります。

このメインの QVBoxLayout は、1 つ以上の QVBoxLayout の子で構成され、その後にいくつかの他のウィジェットが続きます。追加の QVBoxLayout の子 (および/または下のウィジェット) を追加すると、ダイアログ ボックスが拡張されて、それらに対応します。

ただし、親 QVBoxLayout から QVBoxLayout の子を削除すると、削除された QVBoxLayout のサイズと同じ量だけダイアログ ボックスのサイズが小さくなりません。見苦しい大きな空白領域が同じサイズのままです。

子コンポーネントが QVBoxLayout から削除されたときにダイアログ ボックスのサイズが適切に変更されるように、QVBoxLayout/QDialog で正しい動的動作を実現するにはどうすればよいですか?

4

3 に答える 3

0

必ず呼び出してくださいmainLayoutPtr->setSizeConstraint(QLayout::SetFixedSize)(これにより、ユーザーがダイアログのサイズを変更できなくなりますが、ウィジェットの非表示/表示時に適切にサイズ変更できます)

于 2013-06-10T14:00:42.020 に答える