qt中删除布局内的子控件

开发环境为win7旗舰版,qt creator3.4-msvc,qt库为5.4版本的,现在在一个界面中添加了一个垂直布局,布局内有QLabel标签,因为标签数目不确定,所以用了QList来管理,可以随意增减。那么希望在更新标签时将原有标签中除了前6个外先全部彻底删除,但是我用了很多方法都没有达到效果,原有标签还是会显示


    QLayoutItem *child = this->layout()->takeAt(6);
    for(int count = 0;count < statlistContent.count();++count)
    {
        vlayout->removeWidget(statlistContent.at(count));
        //vlayout->removeItem(child);

        //child = this->layout()->takeAt(6);
        vlayout->removeItem(child);
        //delete child;
        statlistContent.at(count)->deleteLater();
        statlistContent.at(count)->hide();
    }
    qDeleteAll(statlistContent);
    statlistContent.clear();

用到delete还会导致程序崩溃,希望有经验的大神指导

    vlayout->removeWidget(statlistContent.at(count));
    //vlayout->removeItem(child);

    //child = this->layout()->takeAt(6);
    vlayout->removeItem(child);
    //delete child;
    statlistContent.at(count)->deleteLater();
    statlistContent.at(count)->hide();
}
qDeleteAll(statlistContent);