Как сделать визуальный индикатор загрузки для QX11EmbedContainer? |
Здравствуйте, гость ( Вход | Регистрация )
Как сделать визуальный индикатор загрузки для QX11EmbedContainer? |
Гость_Гость_mdlv_*_* |
17.12.2015, 14:02
Сообщение
#1
|
Гости |
Добрый день! Возникла необходимость отображать прелоадер, пока в контейнер QX11EmbedContainer не встроится виджет. Момент начала отображения предзагрузчика есть, по сигналу clientIsEmbedded() я могу определить момент встраивания и прекратить показ прелоадера, также прекратить показ в случае ошибки. Но возник вопрос - какими средствами лучше отображать сам прелоадер?
Если я правильно понимаю, QSplashScreen не подходит, т.к. он привязан к виджету. QProgressBar - непонятно, как устанавливать процент выполнения операции. Показывать виджет с *.gif в виде QMovie? По идее прелоадер должен отображаться поверх QX11EmbedContainer и не быть самостоятельным окном. |
|
|
Алексей1153 |
17.12.2015, 14:33
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
можно создать окно с прогрессбаром (и кнопкой отмены, если надо), и показать его модально, но только вызовом open(), а не exec() (последний управление не возвращает, пока окно не закрыли).
Затем в цикле необходимо 1) перерисовывать и обрабатывать ввод
2) если произошло отслеживаемое событие - взвести флаг, выйти из цикла, убить окно 3) если на диалоге нажали отмену (в классе диалога выставился bool флажок) - проверить и выйти из цикла, убить окно Возможно, кто-то подскажет более интересный способ, но я другого способа не нашёл ) |
|
|
ViGOur |
17.12.2015, 16:30
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Как вариант, сделать отдельным приложением, и расширить до так сказать тулкита по выполнению: встраивание, копирование, обновление, удаление ...
|
|
|
Текстовая версия | Сейчас: 28.11.2024, 16:15 |