以下是遍历删除 QTreeWidget 中所有节点的 C++ 代码示例:
// 获取根节点
QTreeWidgetItem *root = treeWidget->invisibleRootItem();
// 遍历删除所有节点
while (root->childCount() > 0) {
QTreeWidgetItem *item = root->takeChild(0); // 获取第一个子节点
delete item; // 删除子节点
}
也可以使用递归函数来实现:
void removeAllItems(QTreeWidgetItem *item)
{
while (item->childCount() > 0) {
removeAllItems(item->child(0)); // 递归调用
delete item->takeChild(0);
}
}
// 调用 removeAllItems 函数来删除所有节点
removeAllItems(treeWidget->invisibleRootItem());