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

QT 线程的使用

1.头文件: 

#include<QThread> 2.在.h文件中定义全局:
QThread* threadTraj;
 void threadTrajProcess();//回调函数

3.在.cpp文件中:

threadTraj = new QThread();//初始化

//连接槽函数

QObject::connect(threadTraj, &QThread::started, this, MainForm::threadTrajProcess);

4.线程处理

void MainForm::threadTrajProcess()
{while(startTask){cameraTraj->g_disply_fps++;if(!qImageForTraj.isNull())//开始任务{UsePythonFindTrack();}//QThread::msleep(10);//会阻塞线程,会影响到用户界面的响应性。QEventLoop loop;//非阻塞延时QTimer::singleShot(10, &loop, SLOT(quit())); // 等待0.01秒后退出循环loop.exec(); // 进入事件循环等待}
}

5。按键 开始/停止 任务
void MainForm::on_btnStartWork_clicked()
{

     if(startTask==false)//开始
     {                
        ui->btnStartWork->setText("结束任务");
        ui->btnStartWork->setStyleSheet(ui->btnStartWork->styleSheet()+ "QToolButton{ color: red;}");     //修改按键颜色
        startTask=true;
        threadTraj->start(); // 启动线程
     }
     else
     {
        ui->btnStartWork->setText("开始任务");
       ui->btnStartWork->setStyleSheet(ui->btnStartWork->styleSheet()+ "QToolButton{color: blue;}");
        startTask=false;
        threadTraj->quit();
         UseGetTrackGoal();
     }
}

6.销毁
//关闭
void MainForm::on_btnMenu_Close_clicked()
{
    if(startTask)
    {
        startTask=false;
        threadTraj->quit();
    }
    close();
}

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

相关文章:

  • Python基于flask的豆瓣电影分析可视化系统
  • 【迅为iTOP-4412-linux 系统制作(4)】ADB 或者 TF 卡烧写测试
  • 阿里云对象存储OSS批量上传,单个上传,批量删除,单个删除!
  • Python的国际化和本地化【第162篇—国际化和本地化】
  • 播放Samba协议下的音视频文件
  • Excel全套213集教程
  • 【七 (1)指标体系建设-构建高效的故障管理指标体系】
  • Go gin框架(详细版)
  • Git分布式版本控制系统——Git常用命令(二)
  • LeetCode 59.螺旋矩阵II
  • 03-JAVA设计模式-适配器模式
  • MVVM架构模式
  • leetcode2924--找到冠军II
  • 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记13:RTC实时时钟
  • 统一用安卓Studio修改项目包名
  • Spring Cloud Gateway详细介绍以及实现动态路由
  • transformer上手(6)—— 微调预训练模型
  • web前端框架设计第四课-条件判断与列表渲染
  • 计算机网络:数据链路层 - CSMA/CD协议
  • 力扣LeetCode138. 复制带随机指针的链表 两种解法(C语言实现)
  • 强大的压缩和解压缩工具 Keka for Mac
  • 论文速读:Do Generated Data Always Help Contrastive Learning?
  • 华为欧拉系统(openEuler-22.03)安装深信服EasyConnect软件(图文详解)
  • git commit --amend用法
  • 分布式系统:缓存与数据库一致性问题
  • JavaEE企业开发新技术5
  • mysql dump导出导入数据
  • 刷题记录3
  • Decorator 装饰
  • SpringMVC:搭建第一个web项目并配置视图解析器