信号和槽只能传递简单的数据类型,当需要传递QMap或者结构体时,就需要定义和注册该类型。
首先需要包含头文件<QMetaType>
定义:
typedef struct startA
{
QString m;
QString n;
QList l;
}startA_t;
Q_DECLARE_METATYPE(startA_t);
使用信号和槽之前,注册:
qRegisterMetaType<startA_t>("startA_t");
最后吐露一句,QSerialPort不能跨线程调用