Qt的自定义结构体Qt是不认识的,下面就直接列出使用方法
第一步 建议把所需的结构体放在一个单独头文件中,防止头文件相互包含,gg,而且还有条件编译的头自动生成。直接向工作添加C++头文件。
自己把名字取好就行了。
注意:这样会在.pro中 HEADERS += \ 添加的,如果编译发现一些东西找不到,记得去检查下.pro文件。
第二步 写好自己的结构体,记得向QT声明这个结构体,调用Q_DECLARE_METATYPE,当然头文件QMetaType不要忘了,如:
#include <QMetaType> //自定义参数类型的头文件----***
struct similarityInfo{
QImage img1; //图片1
QImage img2; //图片2
lj_handle_t m_fDetect; //人脸检测句柄
lj_handle_t m_fVerfity; //人脸比对句柄
// operator QVariant() const
// {
// return QVariant::fromValue(*this);
// }
};
Q_DECLARE_METATYPE(similarityInfo) //要调用Q_DECLARE_METATYPE,向QT声明这个结构体----***
第三步 在main函数中用qRegisterMetaType注册自定义参数的类型,如:
qRegisterMetaType<similarityInfo>("similarityInfo");----***