qt 采用信号与槽传递结构体的问题
首先需要传递的结构体是:
struct vframe
{
int index;
char *data;
unsigned int data_len;
unsigned int pix_width;
unsigned int pix_height;
unsigned int pix_format;
};
Q_DECLARE_METATYPE(vframe)
信号是void postData(QVariant dataVar);
发送信号的该类构造函数里添加了
vframe askData;
QVariant DataVar;
DataVar.setValue(askData);
qRegisterMetaType<QVariant>("QVariant");
connect函数是connect(mod->capt,SIGNAL(postData()),this,SLOT(save_image(QVariant)));
但是运行过程中报错了,错误代码是
/usr/local/Trolltech/Qt-4.8.5/include/QtCore/qmetatype.h:169: error: 'qt_metatype_id' is not a member of 'QMetaTypeId<vframe*>'
static inline int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); }
^
各位大神到底应该怎么改呢