2011-02-04 20 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

相关问题