0
当退出和清除QTreeWidget时,我的应用程序正在崩溃并伴有BAD_ACCESS。清除QTreeWidget时应用程序崩溃
这是我如何填充树的第一级:
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)));
我在做什么,使这个崩溃?动态分配的项目具有树形控件,因为它是父项,所以只能在树形控件时销毁。
你可以使用'QStringList标题;标题<< tr(“Url”)<< ...'插入到标题中,这样你就不需要创建一个临时的QStringList。 (而QStringList实际上只是QList的一个包装,无论如何都有一些更好的重载。) –
RedX
2011-05-25 09:58:21
@RedX - Nice!更干净。 – Raphael 2011-05-25 19:18:28