QT信号传结构体

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 )   );


 
展开阅读全文
©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读