Unlike what seemed like a past understanding , I was surprised to read the update, which (at least in recent versions) Qt did not leave an order the slot is called undefined:
If several slots are connected to the same signal, the slots will be executed one after another in the order in which they were connected when the signal is emitted.
http://doc.qt.io/qt-4.8/signalsandslots.html#signals
(Although it can be argued that one sentence in this document is not enough to provide a βstrongβ guarantee for all versions of Qt 4.X past and future.)
There is no API for reordering signals and slots. Even if that were the case, I would feel that relying on an order is not a good idea. I would suggest revising the design.
One thing you could investigate was to make sure that your slots queue their actions, rather than take actions directly. Then, when all the slots were called, you processed this queue ... taking into account some priority attributes.
Hostilefork
source share