Здравствуйте, гость ( Вход | Регистрация )
Rocky | Дата 14.12.2010, 12:57 |
А почему нельзя создать как бы список корневых элементов, а заголовки колонок возвращать через headerData? Правда если его убрать, то неясно как будет выглядеть ф-ии index/parent... | |
Kagami | Дата 7.4.2009, 10:58 |
Да | |
Litkevich Yuriy | Дата 7.4.2009, 10:58 |
При создании модели всегда необходимо создать "лишний" элемент, который не будет отображен в TreeView. Да к нему-то и буду цеплятся все остальные |
|
Sokoloff | Дата 7.4.2009, 10:52 |
Бр-бр-бр, вы меня запутали Да. Для удобства его можно использовать в качестве заголовка Я понял как "Да - всегда нужно создовать один невидимый над-корневой элемент."Sokoloff, тут просто такая организация модели, как уже заметил Kagami - для удобства. Корневой элемент используется для заголовков. И это необязательно. Мне понимается как "В данном случае у них такая организация, и они создали над-корневой элемент, но это не обязательно, и ты можешь его не создавать". Т.е. это противоречит Kagami.Если ты хочешь что бы у тебя бы виден один элемент у которого несколько потомков, подчини его корневому. Опять же, "Да всегда надо создовать над-корневой элемент."Kagami, да, это правильное замечание. Опа! Теперь Yuriy соглашается с Kagami.Таким образом, чтоб заморить червя сомненья переспрошу еще раз. Верно ли данное утверждение? При создании модели всегда необходимо создать "лишний" элемент, который не будет отображен в TreeView. Да или нет? |
|
Litkevich Yuriy | Дата 6.4.2009, 20:02 |
Kagami, да, это правильное замечание. Оно полностью соответствует картинке тут Классы моделей |
|
Kagami | Дата 6.4.2009, 19:55 |
Наверно цитату невнимательно читали. Поэтому я ее переведу: Цитата Конструктор должен создать корневой элемент модели. Для удобства этот элемент содержит только данные вертикального заголовка. Мы так же используем его для ссылки на внутренюю структуру данных содержащую данные модель и он используется для представления воображаемого родителя элементов верхнего уровня в модели Если ты хочешь что бы у тебя бы виден один элемент у которого несколько потомков, подчини его корневому. |
|
Litkevich Yuriy | Дата 6.4.2009, 19:47 |
Тогда я не пойму, что надо поменяьть чтоб корневой элемент начал отображаться. чтобы ты что-то видел в представлении, очевидно, что это "что-то" должно быть получено представлением.В дереве за это отвечают несколько функций: data() Цитата Если наша модель иерархическая, мы также должны реализовать функции index() и parent(). тыкподробности смотри в Создание собственных моделей Sokoloff, могу тебе порекомендовать такую штуку (когда я делал первую свою табличную модель я ею воспользовался) Воткни в каждую функцию модели (из примера) подобную строчку: где: function_name - имя конкретной функции.и "вошкай" дерево, в консоли увидешь очень много интересного! затем доработай по своему усмотрению. Например будет интересно видеть как представление запрашивает данные (строку, столбец и родителя) |
|
Sokoloff | Дата 6.4.2009, 19:31 |
Sokoloff, тут просто такая организация модели, как уже заметил Kagami - для удобства. Корневой элемент используется для заголовков. И это необязательно. Тогда я не пойму, что надо поменяьть чтоб корневой элемент начал отображаться. |
|
Litkevich Yuriy | Дата 6.4.2009, 18:39 |
Sokoloff, тут просто такая организация модели, как уже заметил Kagami - для удобства. Корневой элемент используется для заголовков. И это необязательно. | |
Sokoloff | Дата 6.4.2009, 18:13 |
В конструкторе TreeModel::TreeModel создается корневой элемент, который не отображается в TreeView. а про какой элемент речь, я что-то не понял. Приведи соответсвующий фрагмент кодаrootItem из
|
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 2:07 |