要从 a 中删除给定QListWidgetItem* item
的,QListWidget* lst
我可以使用以下代码(取自此答案):
delete lst->takeItem(lst->row(item)); // method 1
另一方面,如果我只是销毁该项目,它也会从列表中删除(至少它从列表中消失)QListWidget
。
delete item; // method 2
QListWidget
文档表明使用takeItem
但没有提及有关删除该项目的任何内容(QListWidgetItem
也没有任何信息)。
要从列表中删除项目,请使用 takeItem()。
takeItem
使用方法1(然后删除它)和方法2(直接删除项目)有什么区别吗?也许我错过了内存泄漏、未发出的信号等?我的意思是,删除该项目(当然,如果你有的话)似乎比搜索它更容易。