关于QT线程暂停、恢复、停止、重启、暂停后回收的处理

2023-11-09

thread.h


Qmutex m_mutex; 
void threadPause();
void threadResume();  

thread.cpp

bool Flag_StopThread = 0;
bool Flag_PauseThread = 0;
void run()
{
    while(1)
    {
        m_mutex.lock();        
        m_mutex.unlock();
        if (Flag_StopThread)
        {
            Flag_StopThread = 0;
            break;
        } 
    }
        
}


void Mythread::threadPause()
{
    Flag_PauseThread = 1;//线程暂停标志
    this->m_mutex.lock();      
}    
void Mythread::threadResume()
{
    Flag_PauseThread = 0;
    this->m_mutex.unlock();
    
}

widget.h

Mythread* m_thread = NULL;
void on_start_clicked();
void on_pause_clicked();
void on_stop_clicked();

widget.cpp

void widget::on_start_clicked()//    开始/恢复
{
    if (!m_thread->isRunning())
    {            
        m_thread->start();       
    }
    else
    {
        m_thread->threadResume();       
    }  
}

void cad::on_pause_clicked() //暂停
{       
    if (m_thread->isRunning())
    {
        m_thread->threadPause(); 
    }
}

void cad::on_clear_clicked() //停止
{      
    if (Flag_PauseThread)
    {
        Flag_StopThread = 1;//停止线程标志    
        m_thread->threadResume();
    } 
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于QT线程暂停、恢复、停止、重启、暂停后回收的处理 的相关文章

  • QFileDialog::getOpenFileName 调试时崩溃,显然是由项目名称引起的?

    我遇到了一个让我非常困惑的问题 我在 Windows 7 上使用 Qt Creator 3 1 2 和 Qt 5 3 使用 MSVC 10 0 编译器和 Windows 8 1 调试工具中的 CDB 不确定我是否应该寻找特定于 Window
  • 一个具有完全透明背景的qt小部件

    我需要创建一个 qt 小部件 它将充当其他一些小部件的父级 并对它们进行排序 现在的问题是如何使其背景完全透明 我想这样做 struct Imp Imp QWidget parent thisWidget new QWidget paren
  • Qt 多重继承和信号

    由于 QObject 我在 QT 中遇到了有关多重继承的问题 我知道很多人也有同样的问题 但我不知道该如何解决 class NavigatableItem public QObject Q OBJECT signals void desel
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本
  • 暂停 python 脚本直到事件发生,而不挂起/阻止 GUI

    尝试使用 Kivy 从 PyQt 迁移 我什至无法想象解决方案 我有数千行代码 使用 Qt 的对话框进行文本输入 也就是说 当到达他们的代码行时 他们会 停止 脚本 直到按下 确定 按钮 以便他们可以返回文本输入 Kivy 没有该功能 因此
  • Qt:使用 QObject::connect 指定多种连接类型

    我想知道是否可以指定多种连接类型 例如 我希望我的连接类型是排队连接和唯一连接 是否可以在一份声明中具体说明这一点 QObject connect ptrSender SIGNAL ptrReceiver SLOT Queued and u
  • 如何在 Qt4 OpenGL 应用程序中启用 HiDPI (Retina) 支持?

    我正在使用带有 QGraphicsView 的 QGraphicsScene 如中所述这个文件 https doc qt io archives qq qq26 openglcanvas html 我打算最终将 Qt 小部件覆盖在我的 Op
  • QDateTime::fromstring( __DATE__, "MMM d yyyy") 返回无效

    解析MSVC 预定义 DATE 也许结合 TIME 宏与 QDateTime fromstring 不返回任何内容 无效的 QDateTime 对象 为什么 From http msdn microsoft com en us librar
  • qtcreator中C++14的编译

    我有一个 qt 项目 其中包含以下部分C 14 最近 我改变了我的 ubuntu 发行版 现在我有 16 04 LTS 并且安装了 Qt Creator 4 02 建于 6 月 13 日 为了启用C 14编译 我放入项目文件中 QMAKE
  • Qt,颜色选择器对话框?

    Qt 是否有如下所示的颜色选择器对话框 它还需要有一个 OnColorChanged 信号 当选定的颜色发生变化时会调用该信号 我想在他们改变颜色时提供实时预览 这就是原因 使用谷歌我只能找到这个 它是一个圆边上的三角形 我个人认为它看起来
  • QImage 转换为 QML

    我的应用程序通过网络接收 JPEG 实时流 每秒 16 帧 直播流应使用 QML 显示 接收部分是用C 编写的 所有UI都是用QML编写的 如何将图像数据输入 QML 窗口 我已经研究过如何显示 QImage 但还没有找到解决方案 实现 Q
  • QSettings - ini 文件的位置在哪里?

    我在用着QSettings在 Windows 中将一些数据存储为 ini 文件 我想查看ini文件 但我不知道ini文件的位置在哪里 这是我的代码 QSettings set new QSettings QSettings IniForma
  • 更改 QGraphicsView 中的光标

    我正在尝试更改 a 的光标QGraphicsView而ScrollHandDrag已开启 但似乎不起作用 如果禁用 我可以更改光标ScrollHandDrag但不是在它处于活动状态时 我不知道我可能做错了什么 下面是重现该问题的代码的一部分
  • 如何禁用滚轮事件 QGraphicsView Qt C++ 上的滚动功能

    我有一个图形视图 并且我设置了自己的功能 以便在用户按下 Control 并单击鼠标时手动拖动滚动 我已经删除了滚动条 但鼠标滚轮仍然会滚动 甚至滚动到显示在图像中的图像qGraphicsView显示我的手拖动没有的空白 白色 空间 我怎样
  • 交叉引用标头中出现“未终止条件指令”错误

    有两个类在其标头中彼此相关 绘图标记 ifndef PLOTMARKER H define PLOTMARKER H include
  • 在 Qt 5.12 的 OpenCV dll 上找不到入口点

    TLDR 将 OpenCV 与 QT MingW 链接会使应用程序在调试时崩溃 但不会在发布时崩溃 我正在尝试在基于 Qt 的大型多操作系统项目中使用 OpenCV 我已经轻松地为 Mac 和 Linux 构建了 OpenCV 但在 Win
  • 防止 QGraphicsItem 移出 QGraphicsScene

    我有一个场景 其固定尺寸从 0 0 到 481 270 scene gt setSceneRect 0 0 481 270 在里面 我有一个习惯GraphicsItem多亏了旗帜我可以移动它ItemisMovable 但我希望它留在场景中
  • Qt jpg图像显示

    我想在 Qt UI 中显示 jpg 图像 我上网查了一下 发现https doc qt io archives qt 4 8 qt widgets imageviewer example html https doc qt io archi
  • qml 和 c++ 以及 qt Quick 2 应用程序

    我的主窗口有一个 qml GUI 我刚刚创建了一个 qt Quick2 应用程序 并将主窗口的 qml GUI 复制并粘贴到 main qml 当我运行该应用程序时 它显示空白窗口 以下是我的 qml 日志 QML debugging is
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示

随机推荐

  • mac如何利用 applescript 批量将word转换成pdf

    没有更多的废话 直接上代码 代码的注释应该很清楚了 property word docs org openxmlformats wordprocessingml document com microsoft word doc propert
  • 倍投计算器工具_年化1.84%?计算中证500、沪深300的定投,我发现止盈太重要了...

    新年伊始 对于定投止盈大家一定要注意噢 比如我们主流的宽基指数 中证500指数 小编用一些指数定投计算器 去摁了下 从中证500指数2007年推出到2020年1月8号 定投664期 年化收益1 84 大家是不是被吓坏了啊 小编也是吃了一惊
  • 【信息系统项目管理师】十大管理——1、整合管理

    十大管理 1 整合管理 项目背景 项目概况 2021年6月 我有幸作为项目经理主持了 某省广电网络工程资源管理系统 项目的建设工作 该项目中标金额为888万元 建设工期为5年 该项目是该省广电网络公司的重点项目 该项目整合并条理化广电运营商
  • 画波形图的工具

    在数字电路设计中 常常会看波形图 通过波形图来表达时序关系 波形图也是设计者直接的标准语言 比如 A模块的开发者会用波形图来表示接口的输入信号或者输出信号的时序关系 B模块 对应A模块的驱动或者接收者会根据接口时序做相应的数据传输控制 那么
  • 目标检测算法研究

    1 目标检测基本介绍 1 1 项目结构 1 2 目标检测的算法分类 1 2 1两步走的目标检测 先进行区域推荐 而后进行目标分类 代表算法 R CNN SPP net Fast R CNN Faster R CNN 1 2 2 端到端的目标
  • Python入门--数组、list

    在Python中 列表 list 是一种用于存储一组有序元素的数据类型 列表中的元素可以是数字 字符串 变量或其他任何Python对象 列表是可变的 也就是说 可以添加 删除和修改列表中的元素 下面是一些列表的基本操作示例 1 创建一个空列
  • mov edi,edi - hook api

    mov edi edi hook api 系统 windows xp 查看系统函数的反汇编代码时会发现开头有个 mov edi edi 2字节 再往前则是5个nop指令 当然这不会引人注意 可是 mov edi edi 有什么用了 上网搜索
  • 故事篇:数据库架构演变之路

    故事的开头总是这样 适逢其会 猝不及防 今天我哼着 也是黄昏的沙滩上 有着脚印两对半 在海边散步 迎面走来了一位身穿黄金甲的男子 来海边还穿这么花哨 真是个傻X 定睛一看 这不是嘉文吗 背景介绍 嘉文四世 德玛西亚皇子 是有名的高富帅 与盖
  • openwifi ap sta路由配置教程

    一 先启动AP wgd sh sysctl w net ipv4 conf all forwarding 1 sysctl w net ipv4 conf default forwarding 1 sysctl w net ipv6 con
  • RANSAC(Random Sample Consensus)对点云进行多个平面的分割并可视化(附python代码)

    使用 RANSAC Random Sample Consensus 算法对点云进行多个平面的分割 并进行可视化 下面是对代码的逐行解释 pcd o3d io read point cloud xxx pcd 从文件中读取点云数据 并将其存储
  • L1-029. 是不是太胖了

    据说一个人的标准体重应该是其身高 单位 厘米 减去100 再乘以0 9所得到的公斤数 已知市斤是公斤的两倍 现给定某人身高 请你计算其标准体重应该是多少 顺便也悄悄给自己算一下吧 输入格式 输入第一行给出一个正整数H 100 lt H lt
  • STM32F1开发指南笔记46----字库原理及汉字库创建

    随着液晶显示技术的发展和应用 越来越多的开发人员希望在自己开发的仪器中使用液晶屏幕来显示汉字 通常的汉字显示方式是 先根据所需要的汉字提取汉字点阵 譬如16x16点阵 24x24点阵等 将点阵文件存入ROM中 形成新的汉字编码 然后在使用时
  • 蓝桥杯练习——Python砖墙

    题目 你的面前有一堵矩形的 由 n 行砖块组成的砖墙 这些砖块高度相同 也就是一个单位高 但是宽度不同 每一行砖块的宽度之和相等 你现在要画一条 自顶向下 的 穿过 最少 砖块的垂线 如果你画的线只是从砖块的边缘经过 就不算穿过这块砖 你不
  • API网关

    API网关 api gateway 即 api 网关 所有的请求首先会经过这个网关 这有点类似于前端控制器模式 也有点类似于 Facade模式 如下图所示 由于所有的请求会先经过这个 api 网关 所以 可以在 这里做 权限控制 安全 负载
  • 微信小程序支付开发及问题

    一 前期准备 微信后台申请微信支付 微信支付 商务号关联 个人信息 填写 操作密码 api密钥设置 得到appid AppSecret 商户号 api密钥等 微信支付接口签名校验工具 二大概流程 1 登录 获取code 一个code只能用一
  • 练习2-2 在不使用运算符&&或

    for i 0 i lt lim 1 c getchar n c EOF i s i c 练习2 2 在不使用运算符 或 的条件下编写一个与上面的for循环语句等价的循环语句 参考代码 include
  • mysql 如何修改数据库表结构_MySQL数据库如何修改表结构

    MySQL数据库修改表结构的方法 1 使用add添加字段 使用drop删除字段 2 使用alter修改字段名 3 修改列类型 4 修改表名 5 修改表选项 6 修改列属性 MySQL数据库修改表结构的方法 1 添加与删除字段 1 添加 Al
  • ChatGLM2-6B中引入ptuning报错:AttributeError: ‘ChatGLMModel‘ object has no attribute ‘prefix_encoder‘

    File home ai gm ChatGLM2 6B ptuning v1 main py line 411 in
  • hdoj1052 Tian Ji -- The Horse Racing(贪心算法+2)

    田忌赛马 关键在于比较的次序 首先先比较两个人最慢的马 如果田忌的马快就直接赢下一分 count 如果更慢的话就用这匹慢马去与大王最快的马比赛 count 如果相等的话 再比较两个人最快的马 如果田忌的马更快 count 反之就用田忌的慢马
  • 关于QT线程暂停、恢复、停止、重启、暂停后回收的处理

    thread h Qmutex m mutex void threadPause void threadResume thread cpp bool Flag StopThread 0 bool Flag PauseThread 0 voi