2011-02-04 67 views
3

我剛剛使用videoInput庫和OpenCV向我的應用程序添加了攝像頭支持。如何管理通過信號插槽傳遞的對象的刪除?

視頻流位於QThread(生產者)中,併發出一個信號,爲我的應用程序發送QImage *以更新需要它的圖形項目。

它的內存管理方面是在插槽完成使用後刪除用戶插槽中的QImage *。現在的問題是我想要多個對象接受這個QImage *數據。

在這種情況下,我現在是否必須跟蹤數據的所有消費者(帶有引用計數),然後在完成所有消費者時刪除QImage *(很可能在生產者線程中)?

+0

在這種情況下,你可以僅僅通過const引用傳遞的QImage,因爲它是隱含共享。 – 2011-02-04 14:42:52

回答

8

使用智能指針應該做的大部分工作對您:QSharedPointer

+3

+1:這可能是*正是*爲什麼Qt在其框架中提供了智能指針。 – rubenvb 2011-02-04 11:32:04