Запретить QApplication::exec блокировать основной поток
У меня есть Visual C++ программа, которая создает несколько GUI в основном потоке. Я хочу показать QWidget вместе со всем другим графическим интерфейсом. В настоящее время, если я вызываю QApplication.exec(), он блокирует основной поток, пока я не закрою окно. Есть ли способ запретить функции exec блокировать основной поток или использовать QWidget без вызова exec?
1 ответ
Метод не блокирует основной поток, наоборот: он позволяет выполнить цикл обработки событий, гарантируя, что пользовательский интерфейс остается отзывчивым.
Пока виджет отображается, все остальные графические интерфейсы будут отзывчивыми, так как цикл событий Qt полностью взаимодействует с собственной очередью сообщений.
Если вы хотите, чтобы что-то происходило при закрытии виджета диалога, подключите соответствующий код, например, к диалоговому окну. accepted()
сигнал.