Похоже, вы не поняли правильно, что указывает документация, давайте проанализируем каждую часть утверждения:
В многопоточных приложениях вы можете использовать QTimer в любом потоке, который имеетцикл обработки событий.
Где вы использовали QTimer, есть ли цикл обработки событий? Да, вы используете QTimer в главном потоке и создали цикл обработки событий черезQXApplication.
Чтобы запустить цикл событий из потока без графического интерфейса, используйте QThread :: exec ()
Является ли основной поток не графическим интерфейсомthread? Нет, поэтому в этом случае нет необходимости использовать QThread для использования QTimer в главном потоке.
В каких случаях может произойти сбой QTimer? Если QTimer работаетв основном потоке, и вы не создали приложение QXApplication, или если вы запускаете его в потоке, где нет цикла событий Qt, как std :: thread.
Вывод:
Если QTimer используется в основном потоке, просто ruВ QXApplication, если вы хотите использовать его в другом потоке, вы должны использовать QThread. Другими словами, QTimer работает только при наличии цикла событий Qt.