Добрый день! Возникла необходимость отображать прелоадер, пока в контейнер QX11EmbedContainer не встроится виджет. Момент начала отображения предзагрузчика есть, по сигналу clientIsEmbedded() я могу определить момент встраивания и прекратить показ прелоадера, также прекратить показ в случае ошибки. Но возник вопрос - какими средствами лучше отображать сам прелоадер?
Если я правильно понимаю, QSplashScreen не подходит, т.к. он привязан к виджету.
QProgressBar - непонятно, как устанавливать процент выполнения операции.
Показывать виджет с *.gif в виде QMovie? По идее прелоадер должен отображаться поверх QX11EmbedContainer и не быть самостоятельным окном.
можно создать окно с прогрессбаром (и кнопкой отмены, если надо), и показать его модально, но только вызовом open(), а не exec() (последний управление не возвращает, пока окно не закрыли).
Затем в цикле необходимо
1) перерисовывать и обрабатывать ввод
QApplication::processEvents(QEventLoop::AllEvents,0);
Как вариант, сделать отдельным приложением, и расширить до так сказать тулкита по выполнению: встраивание, копирование, обновление, удаление ...
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)