我正在处理形状更改对话框。 当更多按钮被击中时会放大,再次击中时会缩小。我所做的是使用layout() -> addWidget()
和layout() -> removeWidget()
。当我添加一个小部件时它会正确放大,但是当我删除它不缩小的部分时。我尝试使用layout() -> update()
和layout() -> updateGeometry()
,但他们都没有工作。Qt - 删除小部件时布局不收缩
编辑** 下面是我点击按钮时调用的函数。
void findDialog::small()
{
replaceBox -> hide();
layout() -> removeWidget(replaceBox);
moreButton -> show();
updateGeometry();
}
void findDialog::extended()
{
layout() -> addWidget(replaceBox);
replaceBox -> show();
moreButton -> hide();
updateGeometry();
}
replaceBox
是QGroupBox
moreButton
是QPushButton
findDialog
是QDialog inherited class
尝试在更新之前调用'layout() - > invalidate()' - 删除缓存的信息 - 这可能有帮助 – Thalia
它不起作用。谢谢 – Michael
你的意思是QWidget :: updateGeometry()?这应该做的伎俩,如果不是请添加更多的上下文(代码片段) –