qt开启线程界面假死问题解决

2023-05-16

一、前言

在 使用qt高速读取传感器数据时,如果想要将数据实时刷新在界面,就需要开启一个线程单独去跑读取数据函数,并反馈给主程序,否则在主程序中读取和刷新界面会很卡很卡,但是在开启多线程,无外接鼠标键盘的linux环境下,发现一个问题,就是每个一段时间界面就假死,程序实际还在运行,指示界面卡住了,打印信息都正常,后来发现连接鼠标的话一动鼠标界面就恢复正常,但是也不会一直接着鼠标,卡死了就会认为真的死了,折腾了2天,累的我手指头只疼,终于解决这个问题了,发现问题的原因所在,这里发一个帖子记录一下,也希望能帮助到遇到此问题的朋友。

二、环境

宿主机:window10,Ubuntu16.04

目标及:a40i,linux3.10

三、正文

发生问题的原因是因为我在开启线程后,将读取数据程序放在run函数中一直跑,然后通过绑定槽函数的方式,将读取的数据传递给主程序,然后在主程序中刷新控件到界面显示,问题就是出现在这里,我直接在接收数据的槽函数中加入了控件刷新程序,就导致不定间隔时间,就将界面卡死,怀疑是有时刷新界面太快,倒是界面缓存溢出,系统无法做出及时响应,故进入一种故障模式,界面假死,但底层程序不受影响,仍然正常打印信息。

解决办法:将主程序中的接收线程槽函数中的刷新控件函数移出,放入到一个单独开启的定时器中,这个具体还得根据实际情况,有的人可能将控件刷新就放在槽函数中没有问题,可能是我这个硬件的问题,也算是暂时找到一种解决问题的办法,否者只能忍耐这主线程卡的状态去用了。

四、结语

手指头疼

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

qt开启线程界面假死问题解决 的相关文章

  • 二进制的计算(原码、补码以及反码)

    带符号 5 2 0000 0101 gt 5 1000 0010 gt 2 然后两个数据都转为补码进行相加 正数的补码等于原码 负数的补码等于符号位不变 xff0c 剩下的取反加一 算补码的时候符号位不参与计算 0000 0101 43 加
  • iwr6843-ROS构建

    需求 ubuntu 18 04版本 安装ros 安装教程 首先安装必要软件 sudo apt install git curl vim y 设置您的计算机以接受来自 packages ros org 的软件 sudo sh c 39 ech
  • 51nod - 1364 最大字典序排列

    给出一个1至N的排列 xff0c 允许你做不超过K次操作 xff0c 每次操作可以将相邻的两个数交换 xff0c 问能够得到的字典序最大的排列是什么 xff1f 例如 xff1a N 61 5 xff0c 1 2 3 4 5 xff0c k
  • esp8266_贝壳物联_arduino

    功能 接收串口数据 xff0c 将串口数据上报到贝壳物联的数据接口 此处为接收0和1数据 xff0c 上报到贝壳物联 贝壳物联平台通讯协议 ArduinoJson解析 ArduinoJson Assistant非常好用的工具 span cl
  • 简历信息粘贴板

    简历信息粘贴板 gitee链接 x1f602 最近简历投递感觉很麻烦 xff0c 所以想整个这个 xff0c 欢迎体验 有用可以整个 随便也水一个文 xff0c 好久没更了 x1f466 描述 厌倦了麻烦的简历填写了吗 是不是感觉切换查找复
  • Python装饰器简单说明

    Python装饰器 官方定义 装饰器本质上是一个Python函数 其实就是闭包 xff0c 它可以让其他函数在不需要做任何代码变动的前提下增加额外功能 xff0c 装饰器的返回值也是一个函数对象 装饰器用于有以下场景 xff0c 比如 插入
  • cpp装饰器模式

    装饰器模式 结构型模式 xff1a 在不改变现有对象结构的情况下 xff0c 向对象添加新的功能 xff0c 同时不改变其结构 重点在于动态的增加删除功能 xff0c 装饰类和被装饰类独立 xff0c 不会耦合 返回的对象已经不是原来的对象
  • windows新增右键菜单,通过wsl中的vim打开文件

    文章目录 查看wsl打开方式添加右键菜单增加图标效果 非常简单的方式 x1f44d 查看wsl打开方式 可以看到我这里使用ubuntu2004 exe可以打开 添加右键菜单 按下win输入regedit xff0c 在右边选择管理员打开 然
  • iwr6843isk-HARbag

    文章目录 描述说明数据信息使用方法动作类型jumpsquatswavewalkboxingjack iwr6843isk搭建ROS环境雷达配置参数to txt中数据预处理 二阶段滑窗处理 环境 github链接 https gitee co
  • PVE+NUT+群晖等配置

    文章目录 配置文件说明 默认配置 翻译的 ups conf 设置ups通信相关 upsd conf 设置ups客户访问的相关信息 upsd users 设置upsd用户 nut conf nut的配置 主要是模式 xff0c 决定使用哪些文
  • stm32霸道-lvgl移植学习(一)

    文章目录 效果有用链接要求创建工程屏幕驱动以及触屏驱动LVGL PortWidgets demo其它 效果 目前显示驱动显示较慢 xff0c 后续会优化 有用链接 LVGL官网 代码下载 要求 要求最低要求 建议要求架构16 32 64位微
  • E6410安装PVE直通显卡安装LibreELEC系统

    文章目录 查看cpu是否支持直通音频笔记本关盖设定BIOS设定启动内核IOMMU支持添加驱动黑名单绑定核显到vfio模块然后新建一个虚拟机安装LibreELEC注意事项重启 VM 时 GPU 直通失败如果直通后遇到问题了 xff0c 开机出
  • 关于SublimeText3和MinGW安装的一些心得

    本人也是为了学习C 43 43 xff0c 在无意中找到用Sublime Text3和MinGW来进行组合搭建从而完成代码的编译的运行 安装过程期间 xff0c 也出现了一些错误 xff0c 下面就把我的出现的一些错误贴出来 xff0c 看
  • confluence linux 安装教程

    jdk的安装 参考此链接 confluence下载 Confluence官网 linux安装 将下载后的安装包上传到linux系统中 xff0c 并授予权限 xff0c 注意请使用root用户安装 xff0c 否则会出现部分功能无法使用的情
  • Boost库编译指南

    1 Boost 库简介 Boost 是一个开源的 C 43 43 库集合 xff0c 提供了许多高质量的库 xff0c 涵盖了许多不同的领域 xff0c 如智能指针 多线程编程 正则表达式 数学库等等 Boost 的目标是提高 C 43 4
  • 解决Flask中出现的跨域问题has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header...

    今天在用flask做接口进行本地调用测试时发现调用报错 如图所示 解决办法 xff1a 在项目目录打开终端 xff0c 安装以下库 pip install U flask cors 再在代码中插入 CORS app resources 61
  • 【Web笔记】Html学习手册

    HTML简介 HTML是 超文本标记语言 xff08 HyperText Markup Language xff09 的简称 HTML的前世今生 从初期的网络诞生后 xff0c 已经出现了许多HTML版本 版本发布时间HTML1991HTM
  • webrtc-kurento

    WebRTC 呼叫者通过 navigator mediaDevices getUserMedia en US 捕捉本地媒体 呼叫者创建一个RTCPeerConnection 并调用 RTCPeerConnection addTrack 注
  • windows10远程连接centos图像化桌面步骤和遇到的问题

    一 安装配置XRDP 首先需要切换到root用户下 xff1b 1 安装epel库 1 xff09 检测系统是否已经安装epel库 rpm qa grep epel 2 xff09 安装epel库 yum install epel rele
  • linux磁盘分区、挂载、扩容

    1 fdisk l 查看磁盘情况 xff0c 可以看到总共4块磁盘 xff0c sda是系统盘及根目录 xff0c 剩余sdb sdc sdd三块磁盘可用 root 64 openEuler dev fdisk l Disk dev sdd

随机推荐

  • QT 线程之QWaitCondition(深入理解)

    QWaitCondition 允许线程在某些情况发生时唤醒另外的线程 一个或多个线程可以阻塞等待一QWaitCondition 用wakeOne 或wakeAll 设置一个条件 wakeOne 随机唤醒一个 xff0c wakeAll 唤醒
  • Qt QMessageBox使用详解

    本文详细的介绍了QMessageBox控件的各种操作 xff0c 例如 xff1a 消息提示框的使用 判断消息提示框的按钮 标准图标和自定义图标 定时关闭 自定义样式等操作 本文作者原创 xff0c 转载请附上文章出处与本文链接 Qt QM
  • C++ permutation排列算法详解(深入了解,一文学会)

    排列就是一次对对象序列或值序列的重新排列 例如 xff0c ABC 中字符可能的排列是 xff1a 34 ABC 34 34 ACB 34 34 BAC 34 34 BCA 34 34 CAB 34 34 CBA 34 三个不同的字符有 6
  • QT QMenuBra QMenu QAction 菜单栏 操作详解

    本文详细的介绍了QMenuBra QMenu QAction 菜单栏的各种操作 xff0c 例如操作 xff1a 新建界面 加入菜单项 加入子菜单 新建二级子菜单 QAction分隔符 pMenuBar 点击信号 触发信号 设置图标 设置禁
  • 网络编程POSIX规范要求数据类型

    数据类型 说明 来源 int8 t 带符号8位整数 lt sys types h gt uint8 t 无符号8位整数 lt sys types h gt int16 t 带符号16位整数 lt sys types h gt uint16
  • 解决ajax的delete、put方法接受不到参数的问题

    通过修改配置文件来实现Put和Delete请求的参数传递的问题 在web xml中添加如下代码 xff1a lt filter gt lt filter name gt HttpMethodFilter lt filter name gt
  • - Dockerfile 指令、构建过程

    查看Dockerfile中可以使用的全部指令 xff1a lt http docs docker com reference builder gt 制作Docker image 有两种方式 xff1a 一是使用 Docker contain
  • python正则表达式匹配邮箱地址是否合法

    题目 xff1a 1 xff09 请尝试写一个验证Email地址的正则表达式 版本一应该可以验证出类似的Email xff1a someone 64 gmail com bill gates 64 microsoft com 2 xff09
  • 公网IP和内网IP的区别? 什么是127.0.0.1?

    IP地址是设备在网络上的唯一标识符 xff0c 比如无线路由器有两个IP xff0c 公网IP xff08 例如100 78 118 73 连接互联网 xff0c 私有 xff08 内网 xff09 IP xff08 如192 168 1
  • 计算机网络课程设计之Tracert与Ping 程序设计与实现

    一 预备知识 ICMP ICMP的报文是封装在IP数据部分中的 按照我的理解 xff0c ICMP就是在网络层中 xff0c 反馈一些转发 访问等操作时的附带信息 ICMP分为两种 xff0c ICMP差错报告报文 xff08 IP传输时的
  • 计算机网络课程设计之网络聊天程序的设计与实现

    TCP和UDP在接收方的区别 xff08 实际上本实验中用不着 xff09 UDP 协议 User Datagram Protocol 用户数据报协议 xff0c 是一 种保护消息边界的 xff0c 不保障可靠数据的传输 就是指传输协议把数
  • 计算机网络课程设计之嗅探器实现

    资料来源网络 xff0c 侵权请联系删除 原理 简单说明一下什么是网络嗅探器 xff0c 网络嗅探器是一个抓取所有经过网卡数据的软件 xff0c 在一般使用电脑时 xff0c 网卡只接受到发送至本机的数据 xff0c 那是因为这是网卡是非混
  • 牛客网高级项目总结

    1 注册和登陆 登陆和注册成功之后 xff0c 在cookie里添加上token xff0c 另外在数据库中插入包含token userId的表 xff0c 用于登陆状态检验 具体检验是在拦截器上进行 xff0c 拦截器的实现过程 xff1
  • 设计模式

    面向对象设计原则 每个对象是拥有独立责任的抽象体 真正的复用是源代码不做修改 xff0c 编译 43 测试之后就不会再修改 设计原则 1 依赖倒置原则 xff08 DIP xff09 1 xff09 高层模块 xff08 稳定 xff09
  • Redis面试

    1 更新操作 https coolshell cn articles 17416 html 不可以先删除缓存 xff0c 再更新数据库 因为并发操作下 xff0c 一个更新操作删掉了缓存 xff0c 此时一个读操作进来 xff0c 读取了旧
  • 【关系代数习题】纸上得来终觉浅——数据库学习之路(4)

    题A 设有如下所示的关系S S SNAME AGE SEX C C CNAME TEACHER 和SC S C GRADE xff0c 用关系代数表达式表示下列查询语句 xff1a 1 检索 程军 老师所授课程的课程号 C 和课程名 CNA
  • 线程池

    public ThreadPoolExecutor int corePoolSize int maximumPoolSize long keepAliveTime TimeUnit unit BlockingQueue lt Runnabl
  • 爬取3499手游网下载地址信息

    爬取3499手游网下载地址信息 爬取游戏的下载地址和信息 xff0c 爬取的信息存入到数据库中 1 首先需要安装第三方库 requests xff0c lxml xff0c MySQLdb 2 先创建down software数据库 创建y
  • %d几种输出方式

    d就是普通的输出了 2d是将数字按宽度为2 xff0c 采用右对齐方式输出 xff0c 如果数据位数不到2位 xff0c 则左边补空格 2d是将数字按宽度为2 xff0c 采用左对齐方式输出 xff0c 如果数据位数不到2位 xff0c 则
  • qt开启线程界面假死问题解决

    一 前言 在 使用qt高速读取传感器数据时 xff0c 如果想要将数据实时刷新在界面 xff0c 就需要开启一个线程单独去跑读取数据函数 xff0c 并反馈给主程序 xff0c 否则在主程序中读取和刷新界面会很卡很卡 xff0c 但是在开启