C++、Qt、防止 Window 调整大小超过实际布局高度

C++, Qt, Prevent Window from Resizing More than Actual Layout Height

简单的问题,但我似乎没答对。

我有一个 QDialog 包含一个 QScrollArea,其中包含一个 QVBoxLayout。我希望对话框可以垂直调整大小,但只能调整到滚动条消失的程度,并且布局会完整显示。

我已经尝试 QDialog::setMaximumHeight(int) 使用各种参数,例如大小提示,但到目前为止没有任何效果。

根据给定的描述,我建议您使用 QDialog::setMaximumHeightQScrollArea::widgetsizeHint().height() 作为参数,如下所示:

setMaximumHeight(widget->sizeHint().height());

看看我为你准备的例子:

https://github.com/scopchanov/SO-MaxDialogHeight

如果您需要帮助使其适应您的特定任务,请告诉我。