【问题标题】:delete qwidget from layout QT从布局 QT 中删除 qwidget
【发布时间】:2013-01-29 14:18:03
【问题描述】:

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

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

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

【问题讨论】:

  • 澄清一下,因为我也有类似的问题,qwidget2是用QCell表示的吗?

标签: qt layout qwidget


【解决方案1】:

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

void QCell::deleteMyChildren() {
    while (count() > 0) {
        QLayoutItem * item = takeAt(0);
        delete item;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多