利用QT消息機制可以傳遞一些參數,例如要傳遞QImage形式的圖像,可以這樣寫:
一種形式是:
emit send(QImage);
第一種方法由于QImage預設拷貝為淺拷貝,sender隻複制傳遞指針,無需擔心記憶體複制的消耗。
另一種形式是
emit send (const char*);
第二種方法需要注意如果sender和reciever分屬于兩個線程,connect的預設連接配接方式QueuedConnection。如果指針為棧指針,很有可能會變成無效指針。如果指針為堆指針,要記得手動釋放防止記憶體洩漏。而第一種方法由于QImage采用Implicit Sharing,使用較為簡單安全。