首页 > 解决方案 > 从 QGridLayout 中删除小部件

问题描述

我有一个QGridLayout, 由按钮组成。然后,在按下另一个按钮(不在 this 中QGridLayout)后,应从该网格中删除所有按钮(例如,有 20 个按钮)并添加新数量的按钮(例如,将有 40 个按钮)。一切正常,但是当我关闭我的应用程序时,出现“APPCRASH”错误,排除代码为 c0000005。我已经寻找解决方案,但没有结果。这是我用于从 Grid 中删除按钮的代码:

if (layout) {
        QLayoutItem *item;
        while((item = layout->takeAt(0)) != 0) {
            if (item->widget()) {
                layout->removeWidget(item->widget());
                delete item->widget();
            }
            delete item;
        }
    }

我希望你能帮助我解决这个问题。

标签: qtwidgetcrashqgridlayout

解决方案


推荐阅读