如何从qlistWidget
中删除所选项目。
我尝试编写以下代码,但不起作用。
QList<QListWidgetItem*> items = ui->listWidget->selectedItems();
foreach(QListWidgetItem item, items){
ui->listWidget->removeItemWidget(item);
}
现在,如何删除我从qlistWidget
中选择的项目?
答案 0 :(得分:23)
从QListWidget
删除项目的一种方法是使用QListWidget::takeItem
删除并返回该项目:
QList<QListWidgetItem*> items = ui->listWidget->selectedItems();
foreach(QListWidgetItem * item, items)
{
delete ui->listWidget->takeItem(ui->listWidget->row(item));
}
另一种方法是qDeleteAll
:
qDeleteAll(ui->listWidget->selectedItems());
答案 1 :(得分:2)
使用removeItemWidget
:
QList<QListWidgetItem*> items = ui->listWidget->selectedItems();
foreach(QListWidgetItem* item, items){
ui->listWidget->removeItemWidget(item);
delete item; // Qt documentation warnings you to destroy item to effectively remove it from QListWidget.
}