![]() |
|
![]() ![]() ![]() |
|
grg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.11.2008 Репутация: нет Всего: нет |
Здравствуйте,
задача - вывести на экран таблицу с ~500 000 строк(естественно на экране помещается всего 20-40 строк единовременно) , использую связку QSqlTableModel, QTableView, sqlite3, задача элементарная и выполянется на ура. Но есть такой момент, при прокрутке таблицы вниз , по мере подгрузки строк из БД, размер используемой памяти существенно увеличивается по сравнению с изначальным, несмотря на то, что на экране реально видим всего 20-40 строк. Вопрос заключается в следующем - есть ли уже готовые методы или свойства классов Qt, чтобы сделать "умную" прокрутку - держать в памяти только видимые строки + по 100 строк в оба направления промотки? То , что это можно реализовать самому, унаследовавшись от класса модели сомнений у меня не вызывает, просто хотел уточнить, может все уже сделано заранее и нужно только где-нибудь галочку true /false поставить. Заранее спасибо. |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Ни знаю как насчет QSqlTableModel но гдето читал что QSqlQueryModel хранит только 250 строк
![]() |
|||
|
||||
grg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.11.2008 Репутация: нет Всего: нет |
Спасибо за совет,
но QSqltableModel - наследник QSqlQueryModel только с плюшкой в виде "удобного" редактирования записей... а 255 строк за раз выдает функция fetchMore() (есть по моему во всех классах-моделях), для баз данных (в том числе sqlite). которые не предоставляют инфу об общем количестве строк... так вот эта зараза при скроллинге таблицы вместо того, чтобы заменять те самые 255 строк на новые, просто добавляет их, а хотелось бы чтобы заменяла. похоже придется писать наследника модели.... Это сообщение отредактировал(а) grg - 28.7.2009, 15:45 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |