如何从QListWidget
中删除选中的项?
我试着写下面的代码,但它不工作。
QList<QListWidgetItem*> items = ui->listWidget->selectedItems();
foreach(QListWidgetItem item, items){
ui->listWidget->removeItemWidget(item);
}
从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());
用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.
}