2

我在另一个 qwidget(我们将其称为 qwidget2)的布局内有一个 qwidget(我们将其称为 qwidget1),我想删除 qwidget2 布局中的所有内容:我想清除布局,所以里面什么都没有了..到目前为止,我能做的就是完全删除 qwidget2:

void QCell::deleteMyChildren(){
   delete this;
}

但它会删除 qwidget2 本身。这不是我想要的。请帮我删除布局内的项目。

4

1 回答 1

2

只需在布局中的项目内循环并从布局中删除项目,然后删除项目:

void QCell::deleteMyChildren() {
    while (count() > 0) {
        QLayoutItem * item = takeAt(0);
        delete item;
    }
}
于 2013-01-29T16:31:33.347 回答