使用信号和槽发送 自定义的类型 的声明和注册

typedef struct
{
    INT8U uch_SIANum;
    INT8U uch_DJNum;
    .....
}DEVICECFG;
Q_DECLARE_METATYPE(DEVICECFG)   //声明

在某个地方调用对其进行注册
qRegisterMetaType<DEVICECFG> ("DEVICECFG");

2、信号槽进行异步通信的好处是降低主线程界面卡顿情况。将通信线程通过movetothread,转移到新线程,注意不要指定父类。

3、将通信线程实例化对象进行全局化,这样只要包含对应的头文件,任何界面或者任何想跟该线程交互的对象都能知道通信类的对象

4、接下来进行交互就可以了,比如界面类信号绑定通信类槽函数,这样界面发送信号通信线程就能够对其进行处理,将处理结果再通信信号发送到该界面(再界面类里面绑定自己的自定义槽函数以及通信类的信号,完成通信结果的反馈),完成异步通信。

原文地址:https://www.cnblogs.com/sgh69/p/15212276.html