Qt QListWidget clear()、takeItem()、removeItemWidget()删除项

1.clear() 用来清理所有的QListWidgetItem项,释放所有项的QListWidgetItem对象内存 

2.takeItem() takeItem(int row)只清理第row项,不释放第row项的QListWidgetItem对象内存

3.removeItemWidget需要知道删除的Item的对象,但后面需要delete Item的对象才能删除这个Item这个项和释放内存。

示例代码:

QStringList strList = { "Item1", "Item2", "Item3", "Item4", "Item5" };

ui->listWidget->addItems(strList);
qDebug() << "111 count == " << ui->listWidget->count();
//Qt中QListWidget中删除item的方法2
QListWidgetItem * listItem = ui->listWidget->takeItem(2);
qDebug() << "111 listItem ==  " << listItem;
if(listItem )
{
	delete listItem;
	listItem = nullptr;
}
qDebug() << "222 count == " << ui->listWidget->count();
//Qt中QListWidget中删除item的方法0  //注意:上面删除了一个Item后,删除的Item后面全部Item的index都会发生变化。
QListWidgetItem *pItem = ui->listWidget->item(0);
ui->listWidget->removeItemWidget(pItem);
qDebug() << "333 count == " << ui->listWidget->count();
qDebug() << "111 pItem ==  " << pItem;
if(pItem )
{
	delete pItem;
	pItem = nullptr;
}
qDebug() << "444 count == " << ui->listWidget->count();

ui->listWidget->clear();

qDebug() << "555 count == " << ui->listWidget->count();

结果:

参考:Qt QListWidget通过clear()和takeItem(int row)清除列表项_qlistwidget takeitem-CSDN博客

Qt学习之QListWidget删除Item_qt removeitem-CSDN博客

如果深入了解removeItemWidget() 可以参考:QWidgetList删除选中项 - kuikuitage - 博客园 (cnblogs.com)

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值