如果可以将QT工程使用QVector等类似于C++ stl标准库,QT继承重写的,用法类似于C++ 中vector的用法
eg:
QVector<double> offset_x(3,1);之后就可以使用信号和槽,不同之处,可以发送QT中的变量,QVector<QString> temp_str01;还不错。
这时还暂时不需要结构体的方法,如果对于速度传输要求不是特别的高,那么可以将这些数据进行“封包”处理成QString,使用信号和槽进行发送数据。之后再接收的槽函数中,可以完成响应的“分包”重新定义变量,重新赋值。
在这里就是讲产品型号和序列号同时封包
之后再接受的槽函数中进行拆包进行解析,重新定义,进行重新定义变量,然后就可以使用了。优点,感觉变焦方便;缺点,有解析这一步,比起结构体直接访问元素还是要差一点。(直观感受,没有详细测试)
qRegisterMetaType:注册元类型主要是在定义信号槽的时候,传递的参数类型不一定是QT所识别的,QT不识别的就要先注册以下,让QT能够认识,就是用qRegisterMetaType注册。我的理解就是,先不需要QT的编译器知道信号和槽所要传递的数据类型,进行先期定义,QVariant经过实际的验证,是可以进行在信号和槽中完成结构体的传递的。下方链接可以看一下
https://blog.csdn.net/Bruce_0712/article/details/53767601?ops_request_misc=&request_id=&biz_id=102&utm_term=QT%20%E4%BF%A1%E5%8F%B7%E6%A7%BD%E4%BC%A0%E9%80%92%E7%BB%93%E6%9E%84%E4%BD%93&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-53767601
https://blog.csdn.net/liji_digital/article/details/82904680?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159384526419725250119754%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159384526419725250119754&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v3-1-82904680.pc_ecpm_v3_pc_rank_v3&utm_term=QT+%E4%BF%A1%E5%8F%B7%E6%A7%BD%E4%BC%A0%E9%80%92%E7%BB%93%E6%9E%84%E4%BD%93