Andrewshkovskii
8.12.2010, 15:24
Описываю клинический случай :
Есть sqlite база.
Есть к ней ГУЙ.
В гуе есть treeWidget, он отображает небольшую иерархическую структуру в базе.
Структура простая - есть N парентов, у них возможно M чилдов. У все них есть свои какие-то аттрибуты, и главное - id.
Обобщенная суть гуя - добавлять парентов, и чилдов к парентам.
Так вот, вопрос : насколько это плохой "тон" программирования, если я буду маппить (QMap <QTreeWidgetItem*, int>) элементы ГУЯ к их ID в базе? Это мне нужно для того, что бы знать, к какому именно паренту (его id) я буду через ГУЙ добавлять чилдов.
Или есть в Qt встроенный классы для такого дела?
Алексей1153
8.12.2010, 19:48
Andrewshkovskii, да мапь на здоровье
Но ечть одно "но" - тщательно следи за жизнью элементов. Лучше всего инкапсулировать приватный мап в класс и приделать методы добавления, удаления и поиска
Andrewshkovskii
8.12.2010, 19:55
Ну это и подразумевалось, просто я думал что это будет "не кошерно" : )
Просто я глядел в сторону QSqlRelationalTableModel, QItemSelectionModel, QDataWidgetMapper, но так и не понял, как это дело завести для treeView/Widget.
Алексей1153
8.12.2010, 20:21
Цитата(Andrewshkovskii @ 8.12.2010, 21:55)
просто я думал что это будет "не кошерно" : )
Andrewshkovskii, полагаю, если существуют раввины-программисты, то они тоже не чураются индексирования и ассоциирования
Litkevich Yuriy
8.12.2010, 20:21
Цитата(Andrewshkovskii @ 8.12.2010, 21:55)
но так и не понял, как это дело завести для treeView/Widget.
изучай пример Editable Tree Model он хорошо задокументирован.
(Simple Tree Model не смотри, он кривой)
Andrewshkovskii
8.12.2010, 23:38
Я лишь скажу, что этот вариант удобно будет использовать ,если уж совсем надо кастомизировать модель/вьюху. Для моего случая это просто трата времени(будь оно проклято!), хотя и скилы хорошие можно получить.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.