Запретить QApplication::exec блокировать основной поток

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

1 ответ

Метод не блокирует основной поток, наоборот: он позволяет выполнить цикл обработки событий, гарантируя, что пользовательский интерфейс остается отзывчивым.

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

Если вы хотите, чтобы что-то происходило при закрытии виджета диалога, подключите соответствующий код, например, к диалоговому окну. accepted() сигнал.

Другие вопросы по тегам