From b225b7a8b8cb4421fcfa81e4fc985bcf6ec1c59d Mon Sep 17 00:00:00 2001 From: peijiankang Date: Sat, 11 Sep 2021 15:29:44 +0800 Subject: [PATCH] cpuinfo in arm system is null --- plugins/messages-task/about/cpuinfo.cpp | 37 +++++++++++++------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/plugins/messages-task/about/cpuinfo.cpp b/plugins/messages-task/about/cpuinfo.cpp index ee24a95..d208453 100644 --- a/plugins/messages-task/about/cpuinfo.cpp +++ b/plugins/messages-task/about/cpuinfo.cpp @@ -1,6 +1,6 @@ #include #include - +#include #include "cpuinfo.h" cpuinfo::cpuinfo(QObject *parent) : QObject(parent) @@ -10,25 +10,26 @@ cpuinfo::cpuinfo(QObject *parent) : QObject(parent) QString cpuinfo::getCpuName() { - QString name = ""; + QString name = ""; #ifdef Q_OS_LINUX - QFile file("/proc/cpuinfo"); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - return "no cpuinfo"; + QProcess process; + process.start("lscpu"); + process.waitForFinished(); + QString output = process.readAll(); + QStringList outputlist = output.split("\n"); - QString line = "N/A"; - QTextStream in(&file); - line = in.readLine(); - while (!in.atEnd()) { - line = in.readLine(); - if (line.contains("model name")) - break; - } - //openEuler /proc/cpuinfo - //model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz - name = QString(line).right(line.length() - (line.indexOf(":") + 2)); + for (QString str : outputlist) { + if (str.contains("型号名称")){ + name = QString(str).right(str.length() - 28); + break; + } + else if(str.contains("Model name")) { + name = QString(str).right(str.length() - 33); + break; + } + } #elif defined(Q_OS_FREEBSD) #endif - return name; -} + return name; +} -- 2.30.0