私は最近 Qt5 に移行しましたが、Qt4 では得られない問題に遭遇しました。
高さは固定で幅はサイズ変更可能なモーダル ダイアログがあります。デモンストレーションのために、ここに簡素化されたバージョンがあります。
QDialog dialog;
QHBoxLayout hLayout;
QLineEdit lineEdit;
QPushButton button("Check Current Height");
hLayout.addWidget(&lineEdit);
hLayout.addWidget(&button);
dialog.setLayout(&hLayout);
dialog.setFixedHeight(dialog.sizeHint().height());
qDebug() << dialog.height()
<< dialog.sizeHint().height()
<< dialog.minimumHeight()
<< dialog.maximumHeight();
dialog.exec();
setFixedHeight の代わりに setMinimumHeight と setMaximumHeight を使用している場合でも、サイズを変更できます。
上記の例では、qDebug に供給されるすべてのものは等しいことが示されています。最小高と最大高が等しい場合、ダイアログはサイズ変更できません。しかし、ここにある。
ここで、setFixedHeight を使用しないとダイアログのサイズを完全に変更できますが、setFixedHeight を使用すると、ダイアログのサイズを特定のポイントまでしか変更できないことに注意してください。
更新:上記のように、、および currentbutton
を出力するスロットに接続しました。また、ダイアログのサイズを変更すると、現在の高さが最大の高さを超えることがあります。これはどのように可能ですか?dialog
minimumHeight
maximumHeight
sizeHint.height()
height
qDebug()