Индикатор загрузки Qt по анимированному изображению (он же preloader) или альтернатива?
Я хочу отобразить анимированное изображение загрузчика в виде таблицы во время загрузки. На скриншоте ниже показано впечатление.
Я использовал анимированный GIF для этого, отображаемый setStyleSheet
как центрированное фоновое изображение.
Я сталкиваюсь с двумя проблемами:
- GIF отображается, но не анимированный. Можно ли отобразить анимированный GIF в качестве фонового изображения (через таблицу стилей)? Замечание: В целом возможен анимированный GIF, как показано в Qt - Как показать GIF (анимированное) изображение в QGraphicsPixmapItem, но, похоже, нет анимированного
gif
с таблицами стилей Анимированная Gif-статика в QStyleSheet - У меня проблемы с очисткой изображения после загрузки. Если я очистить таблицу стилей с
setStyleSheet("")
тогда это все еще отображается. Единственный прием, который работает для меня, это переопределить его как прозрачное изображение на 1 пиксель.
Есть ли решение этих проблем или даже лучший подход (оверлейный виджет? / Специализированный виджет Qt для этого)?
(Пример моего кода в Qt 5.4 / Win7)
Редактировать: /questions/30272230/vidzhet-indikatora-zagruzki-qt/30272232#30272232 показывает, как можно анимировать такой gif-файл, но я понятия не имею, использовать это в таком стиле наложения / фона.
1 ответ
Используйте QProgressIndicator вместо gif-анимации.
PS: там написано, что это Qt4, но он работает с Qt5.
QtWaitingSpinner также является элегантным решением.