删除 QTreeView 中某个项目的所有子元素

Remove all sub-elements of an item in QTreeView

我有一个带有元素 baseItem 的 QTreeView,它本身包含一些子元素:

baseItem
  - child1
  - child2
  - child3

现在我想删除该项目的所有子项,但不删除该项目本身。我目前的做法是调用

if (baseItem->hasChildren())
    baseItem->removeRows(rowCnt,baseItem->rowCount());

...其中rowCnt是baseItem所在的行索引号。不幸的是,这仅在 baseItem 位于 rowCnt=0 时有效。这里有什么问题?我还应该如何删除 baseItem 的所有子项?

谢谢!

...where rowCnt is the row index number where baseItem is located at.

不是,rowCnt 是父节点下的子树中的索引。 所以:

if (baseItem->hasChildren())
    baseItem->removeRows(0,baseItem->rowCount());