繁体   English   中英

从listWidget中删除所选项目

[英]Remove selected items from listWidget

如何从qlistWidget删除所选项目。

我尝试编写以下代码,但不起作用。

QList<QListWidgetItem*> items = ui->listWidget->selectedItems();
foreach(QListWidgetItem item, items){
    ui->listWidget->removeItemWidget(item);
}

现在,如何删除我从qlistWidget选择的qlistWidget

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.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM