1
В QApplication, если мы вызываем exec(), запускается новый процесс/поток?QApplication exec() создает новый поток/процесс?
В QApplication, если мы вызываем exec(), запускается новый процесс/поток?QApplication exec() создает новый поток/процесс?
Нет, вызов exec
будет:
входит в основной цикл обработки сообщений и ждет до выхода() вызывается, то возвращает значение, которое было установлено на выходе() (который является 0, если выход() вызывается через quit()).
Эта функция должна быть вызвана , чтобы начать обработку событий. Основной цикл принимает события из оконной системы и отправляет их в виджетов приложений.
Я хочу выполнить qapplication.exec() в отдельном потоке и некоторой другой обработке во втором потоке. Если я непосредственно использую exec(), то мой основной поток никогда не будет вызван до вызова call(), и нет смысла, так как после выхода мой exe закрывается. вы можете указать некоторое направление в этом – ruby
'QApplication :: exec()' необходимо вызывать из основного потока. Если вы хотите работать над другим потоком, обязательно создайте 'QThread'. Используйте сигналы/слоты для связи между основным потоком (UI) и «QThread». –