Qt--信号槽发送QVector
信号
第一步,在.h文件添加头文件
#include <QMetaType>
#include <QVariant>
Q_DECLARE_METATYPE(QVector<double>);
第二步,定义信号
signals:void sig(QVariant x,QVariant y);
第三步,在构造函数中添加
qRegisterMetaType<QVariant>("QVariant");
第四步,封装数据
QVector<double> Var1,Var2;
QVariant dataVar1,dataVar2;
dataVar1.setValue(Var1);
dataVar2.setValue(Var2);
emit sig(dataVar1,dataVar2);
槽
第一步,定义槽函数
public slots:void slot_Data(QVariant,QVariant);
第二步,连接槽函数
connect(sig_class,SIGNAL(sig(QVariant,QVariant)),this,SLOT(slot_Data(QVariant,QVariant)));
第三步,实现槽函数
void slot_class::slot_Data(QVariant data1, QVariant data2)
{QVector<double> D1 = data1.value< QVector<double> >();QVector<double> D2 = data2.value< QVector<double> >();}