我在對話框中有QWidget
。在程序運行的過程中,一些QCheckBox *
對象添加到佈局是這樣的:Qt - 清除QWidget佈局中的所有小部件
QCheckBox *c = new QCheckBox("Checkbox text");
ui->myWidget->layout()->addWidget(c);
也能正常工作的所有複選框。不過,在我的對話框中,我也有一個QPushButton
被稱爲「清除」,當它被按下時,應該清空myWidget以外的所有內容,使其保持空白狀態,就像添加任何QCheckboxes
之前一樣。我一直在網上和文檔環顧四周,但我很難找到一種方法來做到這一點。我發現this的問題,我認爲是類似我的問題,並試圖像這樣的解決方案:
void myClass::on_clear_clicked()
{
while(ui->myWidget->layout()->count() > 0)
{
QLayoutItem *item = ui->myWidget->layout()->takeAt(0);
delete item;
}
}
然而,這似乎並沒有做任何事情。值得注意的是,我不確定這是否正確地從他的答案中翻譯過來;這個函數應該如何實現還有點不清楚,所以我做了我最好的教育猜測。如果有人知道我可以在上面做些什麼來改變它(或者只是一種不同的方式),我們將不勝感激。
這對我有效,謝謝! :) – thnkwthprtls