signal/slot目前有三種調(diào)用方式
1.DirectConnection
和以前一樣,在emit處直接invoke你的slot函數(shù),一般情況是sender,receiver在同一線程
e.g. emit currentRowChanged(...);
2.QueuedConnection
將發(fā)送Event給你的receiver所在的線程
postEvent(QEvent::MetaCall,...)
slot函數(shù)會(huì)在receiver所在的線程的event loop中進(jìn)行處理,一般情況是sender,receiver不在同一線程
3.BlockingQueuedConnection
調(diào)用sendEvent(QEvent::MetaCall,...),在receiver所在的線程處理完成后才會(huì)返回;只能當(dāng)sender,receiver不在同一線程時(shí)才可以