signal和slot是異步調用仍是同步調用,取決於對connect的設定。其實connect還有一個參數(Qt::ConnectionType),是它決定了是同步仍是異步。如下是ConnectionType的定義異步
只不過,日常它有一個默認值Qt::AutoConnection,咱們忽略了它。這時有道友問道,爲什麼在AutoConnection模式下,有時是同步,有時是異步,莫非Auto就是人品代名詞。spa
非也,其實Auto是這樣規定的,線程
當sender和receiver在同一線程時,就是同步模式,而在不一樣線程時,則是異步模式。blog
在Auto模式下,若是sender的觸發時所處的線程和receiver不一樣,也會是異步調用同步