Order of slots called on QObject

前端 未结 4 796
囚心锁ツ
囚心锁ツ 2020-12-15 03:36

I have a QObject that has multiple slots connected to one of its signals. Is there an order in which of each of these slots are called when the signal is emitted?

4条回答
  •  青春惊慌失措
    2020-12-15 04:20

    In Qt v4.5 and earlier: No, the order is undefined as can be seen in the documentation here:

    If several slots are connected to one signal, the slots will be executed one after the other, in an arbitrary order, when the signal is emitted.

    Edit: From version 4.6 onwards this is no longer true. Now the slots will run in the order they are connected. The relevant paragraph of the current documentation:

    If several slots are connected to one signal, the slots will be executed one after the other, in the order they have been connected, when the signal is emitted

提交回复
热议问题