Qt модальный диалог и основной процесс - PullRequest
7 голосов
/ 27 октября 2011

У меня есть программа, которая выполняет некоторый процесс в главном окне, и мне нужно модальное диалоговое окно с некоторыми пользовательскими элементами, которые будут отображаться поверх него, чтобы показать прогресс.Он также должен блокировать взаимодействие пользователя с главным окном.Основной процесс должен выполняться, пока отображается диалоговое окно.Какой способ лучше (в qt) для этой цели?

1 Ответ

17 голосов
/ 27 октября 2011

На самом деле, это звучит довольно легко (если я не понимаю ваш вопрос).

QDialog my_progress_dialog( this );
my_progress_dialog.setModal( true );
my_progress_dialog.show();

Вызов show() не exec() оставит вас в главном цикле событий.В то же время, установка модального диалогового окна блокирует весь пользовательский ввод в главном окне.Работа выполнена.

Вы смотрели на QProgressDialog?Именно для этой цели.

...