Как видно из названия, я использую 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» является ссылкой на родительский узел. Корневой узел — это пустое поле.
Мой вопрос: как получить уникальный идентификатор (в формате int) из QStandardItemModel? Я пробовал с QModelIndex::row() и QPersistentModelIndex::row(), но, похоже, он не уникален.
Огромное спасибо.