前言
今天在使用QListWidget删除Item的时候发现用 removeWidget 不能删除item。网上解释说的是removeWidget 只是把父对象值为空。于是采用了takeItem方法
删除方法
// ui->listWidget_rule->currentRow() 表示删除行
// takeItem返回的是一个QListWidgetItem指针对象,takeItem只是从QListWidget列表中移除, 不会删除Item,需要手动删除。
delete ui->listWidget_rule->takeItem(ui->listWidget_rule->currentRow());
// 用removeItemWidget 方式也需要手动删除item。有点迷糊了,因为像QListView一般都是removeRow就行了,自己会删除。后面遇到了在写文吧。先不纠结了。
QListWidgetItem *currentItem = ui->listWidget_rule->currentItem();
ui->listWidget_rule->removeItemWidget(currentItem);
delete currentItem;
评论
请先登录后发表评论