I have two signals A and B emitted one after another from an object in thread X, and the two connected slots are in the Main thread. The connection is QueuedConnection (due
Both of your signals will be queued in a single event queue of the X thread, so corresponding slots will be executed in the order of signals were emitted.
But in the following case you can't rely on the slots execution order:
signal A connected to a slot in X thread
signal B connected to a slot in Y thread
Also, there is a Qt::BlockingQueuedConnection
connection type. If you connect your first signal using it, your current thread will be blocked until the corresponding slot in another thread finishes its job.
According to current QT sources (5.*) they will be dispatched in sequence they were emitted using FIFO algorithm. But as stated in comment there is nothing in documentation which specifies this order so I wouldn't suggest to relay on that behaviour.