Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] "умная" прокрутка строк в QSqlTableModel 
:(
    Опции темы
grg
Дата 28.7.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.11.2008

Репутация: нет
Всего: нет



Здравствуйте,
задача - вывести на экран таблицу с ~500 000 строк(естественно на экране помещается всего 20-40 строк единовременно) , использую связку QSqlTableModel, QTableView, sqlite3, задача элементарная  и выполянется на ура. Но есть такой момент, при прокрутке таблицы вниз , по мере подгрузки строк из БД, размер используемой памяти существенно увеличивается  по сравнению с изначальным, несмотря на то, что на экране реально видим всего 20-40 строк. 

Вопрос заключается в следующем - есть ли уже готовые методы или свойства классов Qt, чтобы сделать "умную" прокрутку - держать в памяти только видимые строки + по 100 строк в оба направления промотки? 
То , что это можно реализовать самому, унаследовавшись от класса модели сомнений у меня не вызывает, просто хотел уточнить, может все уже сделано заранее и нужно только где-нибудь галочку true /false поставить.

Заранее спасибо.
PM MAIL   Вверх
ecspertiza
Дата 28.7.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Ни знаю как насчет QSqlTableModel но гдето читал что QSqlQueryModel хранит только 250 строк smile вроде так.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
grg
Дата 28.7.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.11.2008

Репутация: нет
Всего: нет



Спасибо за  совет, 
но QSqltableModel - наследник QSqlQueryModel  только с плюшкой в виде "удобного" редактирования записей...
а 255 строк  за раз выдает функция fetchMore() (есть по моему во всех классах-моделях), для баз данных (в том числе sqlite). которые не предоставляют инфу об общем количестве строк...
так вот эта зараза при скроллинге таблицы вместо того, чтобы заменять те самые 255 строк на новые, просто добавляет их, а хотелось бы чтобы заменяла.

похоже придется писать наследника модели....

Это сообщение отредактировал(а) grg - 28.7.2009, 15:45
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0684 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.