crossplatform.ru

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

Sokoloff
  опции профиля:
сообщение 6.4.2009, 17:33
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

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




Репутация:   11  


Разбираюсь сейчас с QAbstractModel и QTreeView.
Смотрю пример "Simple Tree Model Example" http://www.doc.crossplatform.ru/qt/4.5.0/i...emodel-cpp.html.
В конструкторе TreeModel::TreeModel создается корневой элемент, который не отображается в TreeView. И что-то я не пойму это всегда так, надо создавать один скрытый корневой элемент, даже если мне нужно "дерево" а не "куст"?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 6.4.2009, 19:47
Сообщение #2


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

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

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




Репутация:   94  


Цитата(Sokoloff @ 6.4.2009, 23:31) *
Тогда я не пойму, что надо поменяьть чтоб корневой элемент начал отображаться.
чтобы ты что-то видел в представлении, очевидно, что это "что-то" должно быть получено представлением.

В дереве за это отвечают несколько функций:
data()
Цитата
Если наша модель иерархическая, мы также должны реализовать функции index() и parent().
тык

подробности смотри в Создание собственных моделей

Sokoloff, могу тебе порекомендовать такую штуку (когда я делал первую свою табличную модель я ею воспользовался)

Воткни в каждую функцию модели (из примера) подобную строчку:
qDebug() << "Model::function_name";
где: function_name - имя конкретной функции.
и "вошкай" дерево, в консоли увидешь очень много интересного!

затем доработай по своему усмотрению.

Например будет интересно видеть как представление запрашивает данные (строку, столбец и родителя)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.6.2025, 6:38