【发布时间】:2011-08-26 03:02:25
【问题描述】:
我的应用程序在退出和清除 QTreeWidget 时因 BAD_ACCESS 而崩溃。
这就是我填充树的第一级的方式:
std::set<UrlItem>::iterator i;
for(i = crawler->getUrls()->begin() ; i != crawler->getUrls()->end() ; i++) {
QList<QString> cells;
cells.append(i->url);
cells.append(i->httpStatusMessage);
cells.append(QString("%1").arg(i->statusCode));
QTreeWidgetItem *item = new QTreeWidgetItem(ui->resultTreeView, QStringList(cells));
ui->resultTreeView->addTopLevelItem(item);
}
我认为是标题项导致了崩溃:
ui->resultTreeView->setHeaderItem(new QTreeWidgetItem(ui->resultTreeView, QStringList(headers)));
我在做什么导致这个崩溃?动态分配的项目将树小部件作为其父级,因此只有在树小部件存在时才应将其销毁。
【问题讨论】:
标签: c++ qt qtreewidget