Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Модель/Представление _ Вопрос о mapp'инге GUI элементов с моделью

Автор: 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, полагаю, если существуют раввины-программисты, то они тоже не чураются индексирования и ассоциирования :D

Автор: 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

Я лишь скажу, что этот вариант удобно будет использовать ,если уж совсем надо кастомизировать модель/вьюху. Для моего случая это просто трата времени(будь оно проклято!), хотя и скилы хорошие можно получить.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)