记录一下,官方的帮助文档也有相关说明

void clearLayout(QLayout *layout)
{
    QLayoutItem *item = nullptr;
    while ((item = layout->takeAt(0)) != 0)
    {
        //删除widget
        if (item->widget())
        {
            delete item->widget(); 
        }
        //删除子布局
        QLayout *childLayout = item->layout();
        if (childLayout)
        {
            clearLayout(childLayout);
        }
        delete item;
    }
}
最后编辑:2021年01月18日 ©著作权归作者所有

发表评论