C++ 更改QDialog之后的大小';的内容已按程序更改

C++ 更改QDialog之后的大小';的内容已按程序更改,c++,qt,qt5,qdialog,C++,Qt,Qt5,Qdialog,这个问题与中描述的问题非常相似,但那里的答案不符合我的需要 layout()->setSizeConstraint(QLayout::SetFixedSize); 如果QDialog的内容发生更改,它会自动调整大小。但是这样做就失去了手动调整对话框大小的可能性 除了将主布局的大小约束设置为QLayout::SetFixedSize之外,是否有其他方法可以在某些内容被隐藏后通过编程调整QDialog的大小?我尝试了所有类型的代码,包括在显示其他小部件之前保存几何体,以及在隐藏它们之后重新设

这个问题与中描述的问题非常相似,但那里的答案不符合我的需要

layout()->setSizeConstraint(QLayout::SetFixedSize);
如果QDialog的内容发生更改,它会自动调整大小。但是这样做就失去了手动调整对话框大小的可能性

除了将主布局的大小约束设置为
QLayout::SetFixedSize
之外,是否有其他方法可以在某些内容被隐藏后通过编程调整QDialog的大小?我尝试了所有类型的代码,包括在显示其他小部件之前保存几何体,以及在隐藏它们之后重新设置这些几何体,但无论我做什么,都不会发生任何事情


谢谢你的帮助

问题是隐藏小部件后对话框没有收缩还是什么?没错。就是这样:-)或更一般:它愚蠢地忽略了我设置另一个(更小)大小的所有尝试。在隐藏小部件后,您是否尝试更改布局的大小约束策略?例如,将对话框大小调整为最小大小。仍将忽略将对话框大小调整为较小的大小。例如,
dialog->resize(dialog->sizeHint())