从标题可以看出,我使用了一个 QStandardItemModel 来存储一个树状结构。我在 QTreeView 中操作这个结构,而不是我需要以这种格式将它保存在数据库中:
|id|Parent|Child |
| 1| |ITEM01|
| 2| 1|ITEM02|
| 3| 2|ITEM03|
| 4| 3|ITEM04|
| 5| 4|ITEM05|
| 6| 5|ITEM06|
| 7| 6|ITEM07|
| 8| 3|ITEM08|
| 9| 3|ITEM09|
|10| 3|ITEM10|
代表这种结构:
ITEM01
║
╠═► ITEM02
║ ║
║ ╚═► ITEM03
║ ║
║ ╠═► ITEM04
║ ║ ║
║ ║ ╚═► ITEM05
║ ║ ║
║ ║ ╚═► ITEM06
║ ║ ║
║ ║ ╚═► ITEM07
║ ║
║ ╠═► ITEM08
║ ╠═► ITEM09
║ ╚═► ITEM10
换句话说,“id”唯一地代表一个节点,“parent”字段是对父节点的引用。根节点是一个空字段。
我的问题是:如何从 QStandardItemModel 获取唯一的 id(int 格式)?我试过 QModelIndex::row() 和 QPersistentModelIndex::row() 但它似乎不是唯一的。
非常感谢。