0

Qtでは、子のサイズに応じて自動的にサイズを変更するウィジェットを作成するにはどうすればよいですか?

たとえば、いくつかの を含むQGroupBoxを含む がある場合、すべての を収めるのに必要なサイズよりも大きくも小さくもないように、 がそのサイズを自動的に計算するようにしたいと考えています。QHBoxLayoutQPushButtonQGroupBoxQPushButton

.ui理想的には、Qt Designer でこれを実行して、ファイルのサイズを変更する方法を既に知っているファイルを作成できるようにしたいと考えていますが、ファイルQGroupBox内のクラスから派生し、.ui手動でサイズ変更を行うことも開いています。

QGroupBox独自のレイアウト (スペーサーの有無にかかわらず) の内側に配置しようとしましたが、これQGroupBoxは可能な限り最小のサイズにサイズ変更され、子が表示されないようにします。

4

2 に答える 2

1

注意すべき点は次の 2 点です。

  1. グループボックス内の子にサイズ ポリシーを適切に設定します。文字通り、ボタンで何ができるかを考える必要があります。ほとんどの場合、ボタンを大きくしたり小さくしたりしたくないので、両方のサイズ ポリシーを設定するFixedのが正しいことです。おそらく、ボタンを水平方向に拡張できるので、水平方向のポリシーMinimumExpandingはオプションです。

  2. グループボックスのレイアウトにサイズ制限を設定して、目的に応じて動作します。

    ui->groupbox->layout()->setConstraint(QLayout::SetMinAndMaxSize);
    

もちろん、グループボックスは親ウィンドウのレイアウトの中にありますが、それは問題ではありません。

于 2013-10-17T13:38:28.380 に答える