【发布时间】:2011-08-10 09:15:13
【问题描述】:
QListWidget::selectedItems 返回 QListWidgetItem 的列表,但我找到的唯一用于删除项目的函数是 takeItem,它只接受索引,并且 selectedIndexes 函数是受保护的。
【问题讨论】:
标签: c++ qt qlistwidget
QListWidget::selectedItems 返回 QListWidgetItem 的列表,但我找到的唯一用于删除项目的函数是 takeItem,它只接受索引,并且 selectedIndexes 函数是受保护的。
【问题讨论】:
标签: c++ qt qlistwidget
试试
qDeleteAll(listWidget->selectedItems());
【讨论】:
遍历 SelectedItemsList:
QList<QListWidgetItem *> itemList = widget->selectedItems();
for (int i=0; i<itemList.size(); i++) {
widget->takeItem(widget->indexFromItem(itemList[i]));
}
我认为
widget->removeItemWidget(itemList[i]);
也可以使用
【讨论】:
takeItem 文档:“从列表小部件中删除的项目不会由 Qt 管理,需要手动删除。”所以你应该说delete widget->takeItem(...);
ui->listWidget->clear(); 会做asof qt5
【讨论】: