QHBoxLayout
2 を含むを取得しましたQWidgets
。これらはどちらもQWidgets
縦横比 (正方形) が固定されており、QSizePolicy
これを行うことで最小の拡張が行われます。
QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
policy.setHeightForWidth(true);
setSizePolicy(policy);
そして次のように実装heightForWidth
します:
virtual int heightForWidth (int w) const override {
return w;
}
ここで、これらのウィジェットをレイアウトの中央に配置したいと考えています。したがって、次のようにレイアウトに追加します。
layout->addWidget(widget1, 0, Qt::AlignCenter);
ただし、このように最終的には好みのサイズになりますが、使用可能なすべてのスペースを占有するわけではありません。何故ですか?Qt::AlignCenter が私の SizePolicy を上書きするようです?!
対照的に、使用Qt::AlignVCenter
すると、実際には使用可能なすべてのスペースを占有します。それはどのように適合しますか?
ありがとうございます!