我所知道的QListWidget删除项有两种方法
方法一
int n=ui->listWidget->count();//获取item的总数
//删去所有item
for(int i=0;i<n;i++)
{
/*
使用takeItem(row)函数将QListWidget中的第row个item移除,
移除需要使用delete手动释放其在堆上占用的空间
*/
//这里是0,不是i,因为每移除一个item都会导致每个item的row发生变化
QListWidgetItem *item = ui->listWidget->takeItem(0);
delete item;
}
方法二
QListWidgetItem* item = ui->listWidget->currentItem();//被选中或背点击的item删除
// QListWidgetItem* item = ui->listWidget->takeItem(2);//指定删除
ui->listWidget->removeItemWidget(item);
delete item;
在使用自定义itemwidget时,第一种方法删除项后,ui.listWidget->count()
的值可能不会发生变化