我正在處理形狀更改對話框。 當更多按鈕被擊中時會放大,再次擊中時會縮小。我所做的是使用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()?這應該做的伎倆,如果不是請添加更多的上下文(代碼片段) –