Qt::AutoConnection - 自动关联
如果信号和槽函数在同一个线程中,则使用Qt::DirectConnection方式,如果信号和槽函数没有在同一个线程中,则使用Qt::QueuedConnection在信号发送的时候,决定采用哪种关联类型
Qt::DirectConnection - 直接关联
信号和槽函数在同一个线程中,发射完信号后立即调用槽函数,只用在槽函数执行完成返回后,发射信号后面的代码才可以执行,相当于阻塞模式
Qt::QueuedConnection - 队列关联
信号和槽函数不再同一个线程中,当发送信号的线程发送信号后立即执行下面的代码,发送的信号会放到另一个线程的信号队列中等待获取执行,相当于不阻塞模式
Qt::BlockingQueuedConnection - 阻塞队列关联
信号和槽不再同一个线程中,发送信号的线程发送一个信号后,这个线程不会执行下面的代码,直到接收信号的线程中的槽函数执行完成返回后才会继续执行,如果采用这种连接方式的信号和槽函数在同一个线程中,则会形成死锁。
Qt::UniqueConnection - 唯一关联
主要使信号发送者和接受者有唯一的连接。防止多次调用connect形成重复关联。一旦形成重复关联,信号一个旦发射,就会有对应的槽函数多次执行