LINUX.ORG.RU

История изменений

Исправление pon4ik, (текущая версия) :

Но, стоит понимать, что если речь идёт о gui событиях, они всегда(без использования нативного api и прочих хаков), обрабатываются в потоке вызвавшем QApplication::exec. Собственно осуществление этого вызова и делает этот поток тем самым main/gui потоком.

Т.е. отвечая на твой вопрос - вызов(в смысле invoke) слота произойдёт после того, как событие попадёт в очередь главного цикла и обработаются предыдущие события, в контексте gui потока. А реальный вызов слота произойдёт в зависимости от типа соединения, потока в контексте которого был создан, или куда был перемещён объект(предоставляющий слот), наличия запущенного QEventLoop в потоке объекта(предоставляющий слот).

Исходная версия pon4ik, :

Но, стоит понимать, что если речь идёт о gui событиях, они всегда(без использования нативного api и прочих хаков), обрабатываются в потоке вызвавшем QApplication::exec. Собственно осуществление этого вызова и делает этот поток тем самым main/gui потоком.

Т.е. отвечая на твой вопрос - вызов(в смысле invoke) слота произойдёт после того, как событие попадёт в очередь главного цикла и обработаются предыдущие события, в контексте gui потока. А реальный вызов слота произойдёт в зависимости от типа соединения, потока в контексте которого был создан, или куда был перемещён объект, наличия запущенного QEventLoop в потоке объекта.