signal和slot是异步调用仍是同步调用,取决于对connect的设定。其实connect还有一个参数(Qt::ConnectionType),是它决定了是同步仍是异步。如下是ConnectionType的定义异步
只不过,日常它有一个默认值Qt::AutoConnection,咱们忽略了它。这时有道友问道,为什么在AutoConnection模式下,有时是同步,有时是异步,莫非Auto就是人品代名词。spa
非也,其实Auto是这样规定的,线程
当sender和receiver在同一线程时,就是同步模式,而在不一样线程时,则是异步模式。blog
在Auto模式下,若是sender的触发时所处的线程和receiver不一样,也会是异步调用同步