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