我在对话框中有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