In the documentation it says:
In multithreaded applications, you can use
QTimer
in any thread that has an event loop. To start an event loop from a non-GUI thread, useQThread::exec()
. Qt uses the timer's thread affinity to determine which thread will emit thetimeout()
signal. Because of this, you must start and stop the timer in its thread; it is not possible to start a timer from another thread.
So when I have a QTimer
object, Qt uses the object's (or it's parent's) thread affinity to determine which thread will emit the timeout()
signal.
But what happens when I use the static member function singleShot(..)
which does not need a QTimer
instance, which thread will emit the timeout signal then?