1.先建一个结构体,( 最好在建在全局类中,#include "global_variable.h"然后那个类要用他,
写头文件就行了)
struct Coordinates
{
QVector<double> V_X;
QVector<double> V_Y;
};
Q_DECLARE_METATYPE(Coordinates)//注册结构体
2.作为信号输出时,不能直接传结构体,要先包装一下结构再传出去; 接收时,也要拆开包装,才能拿到数据;
A.先打包装
Coordinates T_coordinates;//结构体
QVariant QV_distance; //QT中可以装任何数据的类
QV_distance.setValue(T_coordinates);//打包
emit SIGCirclePoint(QV_distance);//发送
B.拆包装
void slot( QVariant QV_distance ){
Coordinates T_point = QV_distance.value<Coordinates>();
cout<<T_point.V_X;//得到数据
}
C.信号
connent(发送 类,SIGCirclePoint(QV_distance),接收类,slot( QVariant QV_distance ) );