![]() |
|
![]() ![]() ![]() |
|
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Есть такая тема нужно создать компонент в котором будут создаваться Item в виде таблицы , в каждом Item-e должна быть картинка и внизу описание, проблема в том что картинку я загружаю в QPixmap размерность 5х4 то бишь 20 картинок, довольно токи долго грузятся вот как я подгружаю картинку
может есть что то быстрее? или уже есть готовый компонент вот фотка? http://pic.ipicture.ru/uploads/090401/o5r5CD5Uc4.jpg Это сообщение отредактировал(а) ecspertiza - 1.4.2009, 08:37 |
|||
|
||||
Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
1. 3 и 4 строка у тебя лишние
2. Для быстроты картинки можно загружать в другом потоке 3. Так же загружать каждую картинку по мере необходимости Добавлено через 5 минут и 45 секунд а также использовать QPixmapCache на счет компонента - для простоты я бы использовал QTableWidget -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
эээ извиняюсь с кодом напутал так как в первом посте написано картинки вообще не подгружаются
вот так подгружаются но долго, а загружать в отдельном потоке не знаю навряд ли поможет так как суть такова есть таблица с каталогами у каждого каталога может быть несколько картинок( в идеале неограниченно), вот и отображение должно происходить так, юзверь в QComboBox выбрал каталог и в этот компонент под грузились картинки размерностью выбранной юзверем, при этом если картинок больше чем позволяет размерность то должен появится ешё и выбор страниц, так что загрузка по мере необходимости уже тоже присутствует))) |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
гхм, может сам запрос не оптимизирован? Проверь просто выполнение запроса без загрузки в pixmap.
Покажи полностью код вместе запросом и загрузкой pixmap'a, а не этот кусок. |
|||
|
||||
ecspertiza |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
процедура запроса и создания массива
класс PreviewItem
вот как то так |
||||
|
|||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Передача массива и строки по значению. Замени на ссылку или указатель. Это сообщение отредактировал(а) just_geek - 1.4.2009, 09:58 |
|||
|
||||
Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
в твоем случае идет копирование data, что есть лишнее, сделай так
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Сделал особо не помогло, хотел ещё спросить размер картинок 70-250 кб это сильно много?
всё время жрёт вот этот кусок
Это сообщение отредактировал(а) ecspertiza - 1.4.2009, 11:01 |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Это общий размер, или каждой? В любом случае не очень много. У нас в проекте грузятся QImage, гораздо большего размера и в большем количестве. Да еще из пожатого zlib'ом архива. Правда отрисовывается все в QGLWidget ![]() Убрал его и загрузка стала быстрее? Сборка дебаг или релиз? Это сообщение отредактировал(а) just_geek - 1.4.2009, 11:46 |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Размер каждой Почти ![]() релиз Ещё такой вопрос как средствами КуТе уменьшить размер(высота, ширина) изображения? Думаю может в базе хранить превьюшки размером 200х300 пикселей, они весят килобайт по 10:) |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
Попробуй его убрать
![]() Метод
|
|||
|
||||
bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
В документации указано, что в QT все контейнеры имеют архитектуру COW (copy on write), т.е. по сути они сами представляют собой указатели с подсчетом ссылок. Поэтому не удивительно, что при замене на ссылку ничего не изменилось. ![]() |
||||
|
|||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Превьюшки немного помогли до превью загрузка на 20-ть картинок была 2.3 сек после 0.9)))
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |