我有一个QTreeView带有一个baseItem元素,它本身包含一些子元素:
baseItem
- child1
- child2
- child3
现在,我要删除该项目的所有子项目,而不是项目本身。我目前的做法是打电话
if (baseItem->hasChildren())
baseItem->removeRows(rowCnt,baseItem->rowCount());
...其中rowCnt是baseItem所在的行索引号。不幸的是,这仅在baseItem为rowCnt = 0时才起作用。这有什么问题吗?我还应该如何删除baseItem的所有子级?
谢谢!
最佳答案
...其中rowCnt是baseItem所在的行索引号。
不,rowCnt是父树下子树中的索引。
所以:
if (baseItem->hasChildren())
baseItem->removeRows(0,baseItem->rowCount());
关于c++ - 删除QTreeView中某个项目的所有子元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36569836/