当前位置: 首页 > news >正文

qt创建线程类并实现通信 C++

需求描述:

通过VS创建了一个QT项目,我需要一个线程类去实时获取设备取流的图像,并将图像传给qt的类用于在QLabel上显示。

实现:

头文件:

//include ...省略//Qt界面的类Your_Project
class Your_Project : public QMainWindow
{Q_OBJECTPublic://...省略...public slots:void handleResults(cv::Mat Img);    //处理图像的函数private slots:void start_test();    //点击对应按钮启动线程的槽函数};//创建一个线程类
class WorkerThread : public QThread
{Q_OBJECTpublic://将 Your_Project 类的实例作为参数传递给线程类WorkerThread(Your_Project * project) : m_project(project) {}protected:void run();    //线程类中的run()函数获取我想要的Img,并传给handleResults(cv::Mat Img)private:Your_Project * m_project;
};

.cpp文件:

//--此部分可以放在一个按钮的槽函数中,点击按钮开启线程--//
void Your_Project::start_test()
{//实例化线程WorkerThread* workThread;workThread = new WorkerThread(this);workThread->start();//启动线程
}void workThread::run()
{cv::Mat Img;//通过某种方式获得了Img后m_project->handleResults(Img);  //通过m_project将img传给Your_Project类的handleResults函数
}void Your_Project::handleResults(cv::Mat Img)
{//获得线程类中run函数传来的Img,并进行其他处理,例如保存:cv::imwrite("img.jpg",Img);
}

在上述示例代码中,点击按钮触发槽函数start_test()后,开启线程调用run()函数,run()函数中通过m_project将得到的图像数据传给qt界面的Your_Project类的handleResults函数,实现了在UI界面上处理或者其它的处理方式。

http://www.lryc.cn/news/192305.html

相关文章:

  • 【elasticsearch】使用自建证书搭建elasticsearch8.0.1集群
  • 一篇文章带你用动态规划解决打家劫舍问题
  • idea中导入eclipse的javaweb项目——tomact服务(保姆级别)
  • 【开源】给ChatGLM写个,Java对接的SDK
  • 基于Pytest+Allure+Excel的接口自动化测试框架
  • 20.2 FMC驱动SDRAM的时序初始化实现及内存测试
  • 联想电脑一键重装系统Win10操作方法
  • Mysql数据库 1.概述
  • Qt编程,文件操作、UDP通信
  • Docker 的数据管理和Dockerfile镜像的创建
  • [python] 利用 Pydoc 快速生成整个 Python 项目的文档
  • Maven 配置指南
  • 第十八章 类和对象——多态
  • 京东数据平台:2023年服饰行业销售数据分析
  • Nginx proxy_set_header参数设置
  • 如何用 ChatGPT 的 Advanced Data Analysis 帮你采集数据?
  • Linux运行环境搭建系列-Flink安装
  • 求最大bit数(java)
  • 【Java 进阶篇】JavaScript 与 HTML 的结合方式
  • 华为云云耀云服务器L实例评测 | 实例评测使用之硬件参数评测:华为云云耀云服务器下的 Linux 磁盘目录分析神器 ncdu
  • Linux大老都是怎么记住这么多命令的?
  • LoRa技术未来发展前景:物联网和边缘计算的引领者
  • 出现 PowerShell终端执行conda activate无效 解决方法
  • Python实现某音短视频JS XB逆向解析
  • SecureCRT 自动测试脚本的使用方法
  • 常用图像标注工具
  • hadoop namenode -format报错显示:命令未找到
  • prostate数据集下载
  • 比较和同步数据库架构和数据:MssqlMerge Pro Crack
  • R语言——赋值(= ,<- ,<<-)