Russian Qt Forum
Май 22, 2024, 10:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
QTable
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTable (Прочитано 11284 раз)
Zmey
Гость
QTable
«
:
Декабрь 20, 2004, 17:01 »
Таблица QTable, если она большая, то еле шевелится, тормозит ужас просто. Я вычитываю из файла строки и записываю их в QTable в 5 колонок, когда строк не много, то всё замечательно, но чем больше становится таблица, тем она медленней заполняется. Вроде сделал, как написано в описании класса в
Large tables
и как в примере
bigtable
, но чё-та ничего не помогает. Может кто-нить знает, может я чего делаю не так?
Записан
Sergeich
Гость
QTable
«
Ответ #1 :
Декабрь 21, 2004, 21:09 »
Пример
bigtable
расчитан на разреженные таблицы.
Если ты хочешь показать большой файл в таблице, подчитывай данные из файла по необходимости. См. Qt Quaterly Выпуск 7 · Q3 · 2003, A Model/View Table for Large Datasets,
http://doc.trolltech.com/qq/qq07-big-tables.html
Записан
Zmey
Гость
QTable
«
Ответ #2 :
Декабрь 22, 2004, 10:28 »
Задача такая: есть файл со строками, их там 2 млн. Юзер вводит в окошке строку, и я перебираю строки из файла и сравниваю их со строкой, которую ввел юзер, и если совпадают вывожу на экран в QTable. То есть делаем поиск по файлу. Проблема начинается, если найденно строк больше 20 - 30 тысяч. То есть когда поиск завершен, необходимо все найденные строки иметь на экране, и получается что нет возможности подчитывать данные по необходимости.
А
http://doc.trolltech.com/qq/qq07-big-tables.html
я читал, что-то ничего полезного не нашел...
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
QTable
«
Ответ #3 :
Декабрь 22, 2004, 12:44 »
То что ты пишешь извечная проблема
задумайся над вопросом
а нафига пользователю 20 тысяч строк
вот например в MSDN слалали ограничение при поиски на 500
и все летает
Записан
Zmey
Гость
QTable
«
Ответ #4 :
Декабрь 22, 2004, 12:56 »
Да я быть может особо не парился,
если бы тоже самое не было сделано одним челом на Delphi
, и у него
все работает как нужно
:cry: Я в таком случае не смогу конкурировать с ним.
Нафига пользователю стока строк не я же решаю... Я ж тока программер... Может пользователь хочет эти 20 тысяч строк получить и сохранить, чтобы потом где-нить обработать.
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
QTable
«
Ответ #5 :
Декабрь 22, 2004, 13:04 »
а как ты все это реализовывал?
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
QTable
«
Ответ #6 :
Декабрь 22, 2004, 13:42 »
Цитата: "Zmey"
Да я быть может особо не парился,
если бы тоже самое не было сделано одним челом на Delphi
, и у него
все работает как нужно
:cry: Я в таком случае не смогу конкурировать с ним.
Нафига пользователю стока строк не я же решаю... Я ж тока программер... Может пользователь хочет эти 20 тысяч строк получить и сохранить, чтобы потом где-нить обработать.
может тогда стоит на лету создавать строки таблиц
есть где то в памяти список
пользователь путешествует по таблице
а ты подкачиваешь ему данные
Записан
Zmey
Гость
QTable
«
Ответ #7 :
Декабрь 22, 2004, 15:03 »
Цитата: "Admin"
может тогда стоит на лету создавать строки таблиц
есть где то в памяти список
пользователь путешествует по таблице
а ты подкачиваешь ему данные
Это хорошая идея
А как определять, какие строки видны, а какие нет?
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
QTable
«
Ответ #8 :
Декабрь 23, 2004, 14:54 »
я просто видел подобную проблему на дельфийских форумах
я думаю примерно так
отображаешь таблицу
10 записей
пользователь двинул scrollbar ты сообщение подхватил
одновил следующее
Записан
Zmey
Гость
QTable
«
Ответ #9 :
Декабрь 23, 2004, 15:15 »
Пацаны, все нормально. Я оказывается делал неправильно. Я сразу делал таблицу в 0 строк, а потом, если нужно вывести строку, делал insertRows и setText. Я этот прием тестировал тока на малых таблицах, и на скорость это не влияло, а на больших оказывается так нельзя, надо сразу делать большую пустую таблицу и потом ее уже заполнять.
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
QTable
«
Ответ #10 :
Декабрь 23, 2004, 15:32 »
тоже логично
ситуация как с vector
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...