Russian Qt Forum
Ноябрь 19, 2024, 19:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Построение собственного View  (Прочитано 4579 раз)
vitalka
Гость
« : Февраль 07, 2012, 12:07 »

Здравствуйте
Пытаюсь разобраться с правильным построением собственных Представлений. Модель уже есть, и корректно отображается в QTreeView. Пробовал на основе кода QTreeView понять, как лучше наладить работу с собственным представлением. И вот не могу понять как QTreeView получает данные из модели при ее установке, при изменении понятно как. Во время установки модели никаких запросов данных не происходит, значит QTreeView инициирует какой то сигнал от модели, вот только как и какой? Может кто в этом разбирался?
Записан
Bepec
Гость
« Ответ #1 : Февраль 07, 2012, 12:13 »

Q*View запрашивает модель.
Функция data в модели возвращает данные о ячейках, функции columnCount и rowCount сообщают информацию о количестве строк/столбцов.

А так вообще - открывай Ассистент и читай о model-View.
Записан
mutineer
Гость
« Ответ #2 : Февраль 07, 2012, 12:14 »

Сорцы QTreeView не смотрел, но может первый запрос данных происходит при необходимости отрисовки вью?
Записан
vitalka
Гость
« Ответ #3 : Февраль 07, 2012, 12:45 »

Q*View запрашивает модель.
Функция data в модели возвращает данные о ячейках, функции columnCount и rowCount сообщают информацию о количестве строк/столбцов.

А так вообще - открывай Ассистент и читай о model-View.
Про функцию data  в модели я знаю. Но в какой момент и как Представление ее вызывает, вот в чем вопрос.
Ассистент на несколько раз прочитал. Там класно описано о том как делать модели, но очень обще про представления. Можно конечно тупо запрашивать данные из модели и рисовать, но тогда зачем наследовать от QAbstractItemView. Вот и хочу понять, как правильно то сделать..... Тем более мне на основании данной Модели нужно построить довольно большое количество разных Представлений.
Записан
vitalka
Гость
« Ответ #4 : Февраль 07, 2012, 12:47 »

Сорцы QTreeView не смотрел, но может первый запрос данных происходит при необходимости отрисовки вью?

Прорисовка идет с использованием структуры QTreeViewItem, в которой сохранены так же модельные индексы. До этого эту структуру нужно где то заполнить.
Записан
Bepec
Гость
« Ответ #5 : Февраль 07, 2012, 13:14 »

Пройди по дебагу максимально глубоко по сырцам.

ps почитал исходники. Там закопан мамонт тот ещё ^^
Записан
vitalka
Гость
« Ответ #6 : Февраль 09, 2012, 06:03 »

Пройди по дебагу максимально глубоко по сырцам.

ps почитал исходники. Там закопан мамонт тот ещё ^^

Если это все завязано на сигналах, а я подозреваю что так и есть, то прохождение по дебагу практически ничего не даст.
Записан
Bepec
Гость
« Ответ #7 : Февраль 09, 2012, 18:21 »

Любой сигнал должен отправляться, коннектиться и приниматься.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 21.