用QListWidget的clear()方法来清空所有的QListWidgetItem时出错。
QString path = currentPath() + "/" +item->text();
QFileInfo info(path);
if (info.isDir()) {
pathLineEdit->setText(path);
itemListView->clear(); // 这里出问题。
QStringList sl = fileAndFolders(path);
if (filterComboBox->currentIndex() == 0)
itemListView->addItems(sl);
else {
foreach(QString string,sl) {
QFileInfo info(string);
if (info.suffix() == "loc")
itemListView->addItem(string);
}
}
}
后来,自己写一个循环来delete所有的QListWidgetItem,有时也出错:
int i = 0;
int c = itemListView->count();
while (true) {
i++;
if (i > c) break;
if (itemListView->item(0) != NULL) {
qDebug() << itemListView->item(0)->text(); //这是能正常打印
delete itemListView->item(0); // 当delete最后一个时,偶尔出问题,程序莫名死了退出(大部分没问题)。
}
}
请问大家遇到过这样的问题吗?