我正在编写一个 c++ qt 应用程序。在一部分中,我正在创建一个 QTreeWidget。用户可以在该树中创建和删除条目。因此,当用户创建一个项目时,他将调用一个函数,然后该函数本身调用:
QTreeWidgetItem* newItem = new QTreeWidgetItem();
当用户稍后决定删除该条目时,他会调用一个函数,该函数本身将调用:
QTreeWidgetItem* curItem = _ui->qTreeWidget->currentItem();
QTreeWidgetItem* parent = curItem->parent();
parent->removeChild(curItem);
现在为我抹去的问题是:这个项目占用的内存呢?Qt 4.7 文档对 removeChild 的描述如下:
void QTreeWidgetItem::removeChild (QTreeWidgetItem * child) 移除由 child 指示的给定项目。被移除的项目不会被删除。
那么如何删除一个孩子呢?
提前非常感谢!唐尼