项目实战:Qt监测操作系统cpu温度v1.1.0(支持windows、linux、国产麒麟系统)

若该文为原创文章,转载请注明出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136277231
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:项目实战(点击传送门)


需求

  使用Qt软件开发一个检测cpu温度的功能。
  兼容windows、linux,国产麒麟系统(同为linux)

Demo

  windows上运行(需要管理员权限):
  在这里插入图片描述

  国产麒麟操作上运行(需要管理员权限):
  在这里插入图片描述

windows运行包下载地址

  CSDNf粉丝0积分下载:https://download.csdn.net/download/qq21497936/88874614
  QQ群:博客首页扫码进入QQ技术群,点击“文件”搜索“monitorCpuT”,群内与博文同步更新)


功能描述 v1.1.0

  • windows上定时检测输出cpu温度。
  • linux上定时检测输出cpu温度。
  • 国产银河麒麟操作系统上输出cpu温度。

模块化部署

  在这里插入图片描述


关键源码

#ifndef LINUXQString cmd = QString("wmic /namespace:\\\\root\\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature");QProcess process;process.start(cmd);process.waitForFinished();QString result = process.readAllStandardOutput();LOG << result;result = result.replace("\r", "");LOG << result;QStringList list = result.split("\n", QString::SkipEmptyParts);LOG << list;bool ok = false;int t = 0;for(int index = 0; index < list.size(); index++){QString str = list.at(index);str = str.trimmed();LOG << str;t = str.toInt(&ok);if(ok){break;}}// false失败if(!ok){emit signal_detectTemperature(false, _t);// 下一次检测QTimer::singleShot(_intervalMs, this, SLOT(slot_loop()));return;}// 转换_t = (t - 2732) * 1.0f / 10;// 抛出温度emit signal_detectTemperature(true, _t);#else// sensors,有些电脑可能没安装,安装方法如下:// sudo apt-get install lm-sensors hddtemp// sudo sensors-detect// sensorsQProcess process;process.start("sensors");process.waitForFinished();QString result = process.readAllStandardOutput();LOG << result;result = result.replace("\r","");LOG << result;bool ok = false;QStringList list = result.split("\n", QString::SkipEmptyParts);LOG << list;
#if 1for(int index = 0; index < list.size(); index++){QString str = list.at(index);// 注意://      1.虚拟机是无法获取温度的// Physical id 0: +39.0°C  (high = +80.0°C, crit = +100.0°C)// Core 0:        +33.0°C  (high = +80.0°C, crit = +100.0°C)// Core 1:        +35.0°C  (high = +80.0°C, crit = +100.0°C)// Core 2:        +36.0°C  (high = +80.0°C, crit = +100.0°C)// Core 3:        +39.0°C  (high = +80.0°C, crit = +100.0°C)if(str.contains("Core 0")){LOG << str;QStringList subList = str.split(" ", QString::SkipEmptyParts);LOG << subList;if(subList.size() > 3){QString s = subList.at(2);// ("Core", "0:", "+33.0°C", "(high", "=", "+80.0°C,", "crit", "=", "+100.0°C)")if(s.startsWith("+") && s.endsWith("°C")){_t = s.mid(1, s.size() - 1 - 2).toDouble(&ok);}}break;}}
#elseQString str = "Core 0:        +33.2°C  (high = +80.0°C, crit = +100.0°C)";if(str.contains("Core 0")){LOG << str;QStringList subList = str.split(" ", QString::SkipEmptyParts);LOG << subList;if(subList.size() > 3){QString s = subList.at(2);// ("Core", "0:", "+33.0°C", "(high", "=", "+80.0°C,", "crit", "=", "+100.0°C)")if(s.startsWith("+") && s.endsWith("°C")){_t = s.mid(1, s.size() - 1 - 2).toDouble(&ok);}}}
#endif// false失败if(!ok){emit signal_detectTemperature(false, _t);// 下一次检测QTimer::singleShot(_intervalMs, this, SLOT(slot_loop()));return;}// 抛出温度emit signal_detectTemperature(true, _t);#endif
#endif

入坑

入坑一:windows获取不到输出

问题

  在这里插入图片描述

原因

  win10获取系统设备相关信息,需要管理员权限。

解决

  发布时:1.点击exe右键,使用管理员运行。
  发布时/开发时:1.可以直接exe鼠标右键属性,勾选管理员权限运行,后面开发就可以了。
  开发时:2.开发的时候,可以直接使用管理员权限打开QtCreator即可。

入坑二:linux获取不到温度

问题

  没有传感器输出:
  在这里插入图片描述

原因

  因为是使用虚拟机上开发,实际是没有传感器等一些数据的,都是No。(注意:直接开发ubuntu驱动时,查看操作系统上设备树,所有寄存器地址都是0x0000000,也是一样的道理,与硬件相关的,虚拟机是模拟的,没有实际)

解决

  重新装了一台物理麒麟机,测试可以。
  在这里插入图片描述


本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136277231

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2810321.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数据可视化引领智慧仓储新时代

随着科技的飞速发展&#xff0c;数据可视化已然成为智慧仓储领域的璀璨明珠&#xff0c;其强大的功能和多面的作用让智慧仓储焕发出勃勃生机。让我们一同探索&#xff0c;数据可视化究竟在智慧仓储中起到了怎样的作用。下面我就以可视化从业者的角度来简单谈谈这个话题。 在这…

啤酒:精酿啤酒与烧烤的热烈碰撞

在夏日的傍晚&#xff0c;烧烤与啤酒总是绝配。当Fendi Club啤酒遇上烧烤&#xff0c;它们将为我们带来一场热烈的美味碰撞。 Fendi Club啤酒&#xff0c;以其醇厚的口感和淡淡的麦芽香气而著称。这款啤酒在酿造过程中采用了特别的工艺&#xff0c;使得酒体呈现出诱人的金黄色&…

R语言【rgbif】——occ_search()的start和limit参数的配合使用,以及索引的认识

Package rgbif version 3.7.8 occ_search()的参数start和参数limit配合使用&#xff0c;可以在检索的记录超过 10&#xff0c;000条时&#xff0c;获取后面的记录。 根据occ_search()的函数帮助文档&#xff0c;参数start的默认值为0。这是一个在R语言中比较敏感的数字。它可能…

数据结构知识点总结-绪论 数据结构基本术语 算法及评价

要求 &#xff08;1&#xff09;对数据结构这么课学了哪些知识有个清楚的认知&#xff1b; &#xff08;2&#xff09;掌握目录结构&#xff0c;能复述出来每个知识点下都有哪些内容。 如下图所示&#xff0c;可自行制作思维导图&#xff0c;针对自己薄弱的地方进行复习。 …

3款黑科技软件,却常被错认是微软开发,纯国产的它功能逆天

美丽的外表往往大同小异&#xff0c;而实用的软件却是难得一遇的珍品。尤其是最后一款国产软件&#xff0c;尽管许多人都在使用&#xff0c;但却常常因为误解而闹出笑话。 1、PhotoDemon 这款由国外技术专家开发的免费、开源图片编辑工具&#xff0c;体积小巧&#xff0c;仅需…

019 Spring Boot+Vue 电影院会员管理系统(源代码+数据库+文档)

部分代码地址&#xff1a; https://github.com/XinChennn/xc019-cinema 一、系统介绍 cinema项目是一套电影院会员管理系统&#xff0c;使用前后端分离架构开发包含管理员、会员管理、会员卡管理、电影票、消费记录、数据统计等模块 二、所用技术 后端技术栈&#xff1a; …

xss-跨站脚本攻击漏洞

前备知识&#xff1a; Cookie和Session是Web开发中用于维持用户状态、跟踪用户会话的核心技术&#xff0c;它们的主要目的是在无状态的HTTP协议基础上实现有状态的用户交互。 **Cookie**&#xff1a; - Cookie是一种由服务器发送到客户端&#xff08;通常是用户的浏览器&#x…

Ansys携手DXOMARK共同开发突破性的虚拟摄像头系统验证解决方案

改进的简化、集成式的工作流程助力摄像头系统光学性能的提升。 主要亮点 ✔ Ansys联合DXOMARK率先将可靠的虚拟摄像头系统验证解决方案推向市场 ✔ Ansys Lumerical™、Ansys Zemax OpticStudio™和Ansys Speos™可创建能够生成RAW图的工作流程。生成的RAW图可通过DXOMARK…

【快刊合集】中科院2区SCI,Elsevier出版社,仅2个月录用!

【SciencePub学术】 1 计算机智能类SCI&#xff08;高质量/分区上升&#xff09; 【期刊简介】IF&#xff1a;6.5-7.0&#xff0c;JCR1区&#xff0c;中科院2区 【出版社】Elsevier出版社 【版面类型】正刊&#xff0c;仅5篇版面 【检索情况】SCIE在检&#xff0c;预计3个…

如何在Linux搭建MinIO服务并实现无公网ip远程访问内网管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器&#xff0c;可以在各种环境中运行&#xff0c;例如本地、Docker容器、Kubernetes集群等。它兼…

MySQL的SQL语句

1.MySQL连接 连接命令一般是这样写的 mysql -h$ip -P$port -u$user -p比如:mysql -h127.0.0.1 -P3306 -uroot -p -h 指定连接的主机地址&#xff1b;-P 指定连接端口号&#xff1b;-u 指定用户名 -p指定用户名密码 2.SQL分类 DDL(Data Definition Language) 数据定义语言&…

jvm面试题目补充

jdk&jre Java程序设计语言、Java虚拟机、Java API类库这三部分统称为JDK&#xff08;Java Development Kit&#xff09;。 把Java API类库中的Java SE API子集 [1] 和Java虚拟机这两部分统称为JRE&#xff08;Java Runtime Environment&#xff09;&#xff0c;JRE是支持…

【好书推荐-第五期】《Java开发坑点解析:从根因分析到最佳实践》(异步图书出品)

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号&#xff1a;程序员洲洲。 &#x1f388; 本文专栏&#xff1a;本文…

服务器权限:Error: EACCES: permission denied, open‘/Cardiac/uniquC.csv

背景&#xff1a; 我想在服务器上传一个文件uniquC.csv&#xff0c;但是服务器说我没有权限 解决方案&#xff1a; 1. 查看目前是否存在对文件夹的权限 ls -ld /Cardiac/ # your fold path 此时&#xff0c;我发现 这也意味着root也没有赋予写的权限。 2. 拿到root权限 …

云原生应用测试:挑战与方法

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

input/textarea光标位置插入文字

需求是右边编辑sql时&#xff0c;点击左侧常量参数&#xff0c;直接在光标处插入对应的参数&#xff0c;大致实现代码如下&#xff1a; <input type"text" id"myInput" value"Hello, World!"> <button onclick"insertText()&qu…

SSM框架学习笔记07 | Spring MVC入门

文章目录 1. HTTP协议2. Spring MVC2.1. 三层架构2.2. MVC&#xff08;解决表现层的问题&#xff09;2.3. 核心组件 3. Thymeleaf3.1. 模板引擎3.2. Thymeleaf3.3. 常用语法 代码 1. HTTP协议 网址&#xff1a;https://www.ietf.org/ &#xff08;官网网址&#xff09; https:…

伪原创一键生成软件:为你创作有价值的文章

伪原创一键生成软件是一种现代写手必备的得力助手。无论您是写作新手还是经验丰富的老手&#xff0c;它都能帮助您快速生成有吸引力的文章&#xff0c;让您在竞争激烈的市场中脱颖而出。伪原创一键生成软件是一款让写作变得轻松且高效的神奇工具。它为写手们节省了大量的时间和…

零感佩戴的开放式耳机,音质悦耳更耐听,西圣Air体验

每天都用蓝牙耳机的朋友应该不少&#xff0c;我平时也经常戴&#xff0c;不过最近我用的不是常规的入耳式耳机&#xff0c;因为它佩戴不舒适&#xff0c;戴久了耳朵特别难受。所以现在我换上了开放式耳机&#xff0c;这种耳机叫做OWS&#xff0c;我的这款是西圣Air&#xff0c;…

【appium】appium连接模拟器/android真机启动app测试+代码

目录 一、搭建环境 1、准备Android设备&#xff08;真机Android手机/模拟器&#xff09; 2、Android开发环境&#xff08;Android SDK&#xff09; 3、安装Appium 安装Appium-desktop 4、让adb连接测试设备 4.1 怎么让adb去连接上夜神模拟器&#xff1f;不使用connect 打…