所以我想要做的是使用 Qt 信号和插槽通过 smart_ptr 传递图像,以便在需要使用数据的所有内容都完成访问它时它会自行删除。
这是我的代码:
A类,继承QObject:
signals:
void newImageSent(boost::shared_ptr<namespace::ImageData> &image);
B类,继承QObject:
public slots:
void newImageRecieved(boost::shared_ptr<namespace::ImageData> &image)
{
// Manipulate Image
}
连接代码:
QObject::connect(classAPtr.get(),
SIGNAL(newImageSent(boost::shared_ptr<namespace::ImageData>)),
classBPtr.get(),
SLOT(newImageRecieved(boost::shared_ptr<namespace::ImageData>)),
Qt::QueuedConnection);
但是,当我尝试进行连接时,总是返回 false,所以我缺少什么吗?