我有4列QTreeWidget项目,最后一个是复选框。选中复选框后,必须删除该项目。Dialog
是带有QTreeWidget的对话框窗口。
void Dialog::on_treeWidget_itemChanged(QTreeWidgetItem *item, int column)
{
delete item;
}
为什么不起作用?QTreeWidget析构函数不是在这里调用的吗?以及如何正确删除项目?
您的问题没有包含足够的信息,但是您的函数不会从QTreeWidget中删除项目。要删除项目,您应按以下步骤进行更改:
{
if(ui->treeWidget->currentItem()->parent())
ui->treeWidget->currentItem()->parent()->removeChild(ui->treeWidget->currentItem());
else
ui->treeWidget->takeTopLevelItem(ui->treeWidget->currentIndex().row());
}