Отображение поля «Пожалуйста, подождите ...» во время работы слота - PullRequest
6 голосов
/ 10 марта 2012

У меня есть функция слота в моем графическом интерфейсе, которая занимает время (10-15 секунд). Я хотел бы закрасить макет и показать поле «Пожалуйста, подождите ...», которое исчезнет, ​​когда функция слота будет завершена.

Мне нужно, чтобы он был асинхронным, поскольку я хочу использовать виджет QProgressBar в окне «Пожалуйста, подождите ...».

Как это можно сделать?

1 Ответ

10 голосов
/ 10 марта 2012

Ваш долго работающий слот должен быть запущен в QThread, в то время как ваш виджет "Пожалуйста, подождите ..." должен быть модальным в главном потоке графического интерфейса.

Вы можете использовать QProgressDialog и, возможно, выбрать флажок окна , который соответствует вашим потребностям дисплея, или пользовательский виджет. Но длительная операция должна сигнализировать диалоговое окно модальной блокировки, когда оно завершено, в результате чего диалоговое окно затем скрывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...