Qt/QML编程之路:线程及Slot的指针传递(47)

Qt应用开发中线程是经常要用到的,而且是QTimer计时器无法替代的,比如一个接口的数据收发,can、uart、spi等,数据收下来就会启动一个无限循环的线程

    pthread_t pthead;
    int ret = pthread_create(&pthead, NULL,myThread,this);
    if(ret != 0) {
        printf("pthread_create failed!\n");
    }

如果两个线程,还会设计到对共享内存访问互斥,或者同步等待等操作。

接口收发线程一般会收一堆数据,那么如果一个char一个char或者一个int一个int的传递数据,效率不仅低而且数据量大会出现太多参数,此时最好是用数据指针,经过实践,最好的方式是自定义数据类型,一般是自定义一个struct, 在信号槽signal-slot中传递

信号槽机制是Qt编程核心亮点,可以实现一个信号发出,多个槽函数接收处理。具体步骤如下:
1、自定义结构体

#include <QMetaType>  //相关头文件
struct myMessage
{
    char data[BUFFER_LEN];
};
Q_DECLARE_METATYPE(myMessage)


2、注册该结构体,一般在main.cpp中就完成注册,让moc可以用于在信号-槽间进行传递,(不注册信号中数据传不出)

    qRegisterMetaType<myMessage>("myMessage");//注

相关推荐

  1. Qt/QML编程路:线Slot指针传递(47)

    2024-03-15 04:30:02       18 阅读
  2. Qt/QML编程路:qml通过C++传递变量给另一个qml(42)

    2024-03-15 04:30:02       40 阅读
  3. 【6】c++多线技术线参数传递

    2024-03-15 04:30:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 04:30:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 04:30:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 04:30:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 04:30:02       18 阅读

热门阅读

  1. 2024.3.14 训练记录(16)

    2024-03-15 04:30:02       19 阅读
  2. 大模型prompt提示词如何调优?

    2024-03-15 04:30:02       18 阅读
  3. 【点云】激光点云建图评测

    2024-03-15 04:30:02       18 阅读
  4. OpenAI GPT-4.5 Turbo 泄露,六月或将发布

    2024-03-15 04:30:02       20 阅读
  5. 4. git 添加版本标签

    2024-03-15 04:30:02       21 阅读
  6. Oracle控制文件control file(1)控制文件概述

    2024-03-15 04:30:02       21 阅读
  7. 电子信息工程实践案例分析报告

    2024-03-15 04:30:02       20 阅读
  8. PHP伪协议详解

    2024-03-15 04:30:02       22 阅读
  9. LeetCode(力扣)算法题_2864_最大二进制奇数

    2024-03-15 04:30:02       19 阅读
  10. 2.Linux文件IO基础

    2024-03-15 04:30:02       20 阅读
  11. 查看Linux服务器配置

    2024-03-15 04:30:02       22 阅读
  12. leetcode:反转链表II 和k个一组反转链表的C++实现

    2024-03-15 04:30:02       22 阅读
  13. 网络学习DAY3--TCP并发

    2024-03-15 04:30:02       20 阅读
  14. LeetCode2864. Maximum Odd Binary Number

    2024-03-15 04:30:02       25 阅读