crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Вопрос о mapp'инге GUI элементов с моделью
Andrewshkovskii
  опции профиля:
сообщение 8.12.2010, 15:24
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Описываю клинический случай :
Есть sqlite база.
Есть к ней ГУЙ.
В гуе есть treeWidget, он отображает небольшую иерархическую структуру в базе.
Структура простая - есть N парентов, у них возможно M чилдов. У все них есть свои какие-то аттрибуты, и главное - id.
Обобщенная суть гуя - добавлять парентов, и чилдов к парентам.
Так вот, вопрос : насколько это плохой "тон" программирования, если я буду маппить (QMap <QTreeWidgetItem*, int>) элементы ГУЯ к их ID в базе? Это мне нужно для того, что бы знать, к какому именно паренту (его id) я буду через ГУЙ добавлять чилдов.
Или есть в Qt встроенный классы для такого дела?

Сообщение отредактировал Andrewshkovskii - 8.12.2010, 19:56
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 8.12.2010, 19:48
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2933
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Andrewshkovskii, да мапь на здоровье :) Но ечть одно "но" - тщательно следи за жизнью элементов. Лучше всего инкапсулировать приватный мап в класс и приделать методы добавления, удаления и поиска
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 8.12.2010, 19:55
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Ну это и подразумевалось, просто я думал что это будет "не кошерно" : )
Просто я глядел в сторону QSqlRelationalTableModel, QItemSelectionModel, QDataWidgetMapper, но так и не понял, как это дело завести для treeView/Widget.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 8.12.2010, 20:21
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2933
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(Andrewshkovskii @ 8.12.2010, 21:55) *
просто я думал что это будет "не кошерно" : )



Andrewshkovskii, полагаю, если существуют раввины-программисты, то они тоже не чураются индексирования и ассоциирования :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.12.2010, 20:21
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Andrewshkovskii @ 8.12.2010, 21:55) *
но так и не понял, как это дело завести для treeView/Widget.
изучай пример Editable Tree Model он хорошо задокументирован.
(Simple Tree Model не смотри, он кривой)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 8.12.2010, 23:38
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


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

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.8.2022, 15:28