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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Image отображение загрузки фото  (Прочитано 3872 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


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


Просмотр профиля
« : Сентябрь 23, 2011, 11:29 »

Стоит задача написать не большй файловый менеджер, в принципе он почти готов, единственна проблема это отображение превьюшек, для файлов которые являются  изображениями. Проблема в том что пока изображения не подгрузятся  каталог не хочет открываться, особенно это заметно если в каталоге много фоток. Решил сделать буси индикатор, мол пока грузиться фотка отображать его. Вот что навоял

Код:
Image {
            id: iconItem
            anchors.left: parent.left
            anchors.verticalCenter: parent.verticalCenter
            width: parent.height
            height: parent.height
            source: {
               if (iconType == FileExplorer.DirIcon) {
                   visible = true;
                   busyItem.visible = false;
                   return prv_data.dirIcon
               }
               else if (iconType == FileExplorer.ImageIcon)
               {
                   return fullFileName
               }else if (iconType == FileExplorer.FileIcon)
               {
                   visible = true;
                   busyItem.visible = false;
                   return ""
               }
            }

            fillMode: Image.PreserveAspectFit
            smooth: true
            visible: false

            onStatusChanged: if (iconItem.status == Image.Ready) {busyItem.visible = false; iconItem.visible = true;}
        }


        Image {
            id: busyItem
            anchors.left: parent.left
            anchors.verticalCenter: parent.verticalCenter
            width: parent.height
            height: parent.height
            visible: true
            fillMode: Image.PreserveAspectFit

            z: 0
            source: ui.image("v_busyindicator")
            RotationAnimation on rotation { running: busyItem.visible; duration: 1500; from: 0; to: 360; loops: Animation.Infinite }
        }

суть примерно в следующем пока грузиться файл отображаем Image с индикатором, как загрузился отображаем Image с картинкой. Под виндой работает все хорошо, но блин под Linux и Android индикатора так и не видно, софтина все равно ждет пока в каталоге загрузятся все картинки. Понимаю что что то упустил не могу понять что Улыбающийся Не подскажете где накосячил ? Помнится вроде в qt был пример по подгрузке изображений ,но найти не могу Улыбающийся
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


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


Просмотр профиля
« Ответ #1 : Сентябрь 23, 2011, 11:36 »

Вопрос можно считать закрытым, необходимо Image который отображает картинки добавить asynchronous: true
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


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


Просмотр профиля
« Ответ #2 : Сентябрь 23, 2011, 14:58 »

только теперь он что то их медленно как то грузит Улыбающийся даже если smooth в false поставить, как бы ускорить загрузку изображений ?
Записан
Ubuntu_linux
Гость
« Ответ #3 : Сентябрь 25, 2011, 21:33 »

только теперь он что то их медленно как то грузит Улыбающийся даже если smooth в false поставить, как бы ускорить загрузку изображений ?

Много потоков и процес захлебевается...
Сделайте сначала загрузку каталога без картинок, а потом постепенно подгружать картинки по мере их видимости в окне.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


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


Просмотр профиля
« Ответ #4 : Сентябрь 27, 2011, 16:58 »

там и так моделька используется, то бишь и так загружаются только те что видно. Проблемы возникают с фотками если допустим они размером по метр полтора. Думаю может можно как то для файлов изображений превьюху получить.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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