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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QAbstractItemModel "не даёт" доступа ко всем записям. [SOLVED]  (Прочитано 2368 раз)
ASGAlex
Гость
« : Июль 07, 2010, 23:32 »

Пишу своё графическое представление для SQLite-базы данных.
Рядом с ним для удобства отладки посметил простое QTableView;

Записей в БД много но, когда вызываю model()->rowCount(rootIndex()); из своего QAbstractItemView, то получаю число не более 256, в то время как записей может быть и больше. В результате у меня получается недорисованное представление.

Прокручиваю список в QTableView до строки №256... после нё тоже ничего нет, однако через пару секунд список внезапно дополняется... и, как следствие, мой QAbstractItemView внезапно получает доступ к остальным строкам данных и дорисовывает недорисованное. Почему мне не дают доступа ко всем строкам и почему QTableView вдруг открывает этот доступ - в документации ответа не нашел =\  

Пробовал получать число строк таким способом:
Код:
QSqlQuery query;
query.exec("SELECT COUNT(*) FROM System;");
query.next();

int maxrow=query.value(0).toInt();
Но обойти ограничение всё равно не удалось. Конечно да, число возвращается верное, однако потом model()->index(maxrow, 0, rootIndex()); все равно не даёт доступа к элементу, если maxrow>256

Помогите, пожалуйста, решить эту проблему. Спасибо.
« Последнее редактирование: Июль 08, 2010, 00:29 от ASGAlex » Записан
ASGAlex
Гость
« Ответ #1 : Июль 08, 2010, 00:30 »

Отвечу сам себе, может кому и пригодится:
QAbstractItemModel::canFetchMore(rootIndex()) и QAbstractItemModel::fetchMore(rootIndex()) исправляют положение.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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