QSysInfo获取操作系统基本信息

在软件开发过程中,有时我们需要获取操作系统的一些基本信息,比如操作类型类型,版本号等,Qt的QSysInfo类可以获取这些信息,下面介绍一些常用API

机型启动的唯一ID, window11返回空字符串,Linux和Apple操作系统有返回值

QByteArray bootUniqueId();   

返回编译Qt的完整体系结构字符串。此字符串用于识别不同的、不兼容的生成。例如,它可以用作从服务器请求升级包的标识符。

QString buildAbi();  

编译时的CPU架构

QString buildCpuArchitecture();  

当前系统的CPU架构
 

QString currentCpuArchitecture();

内核类型

QString kernelType(); 

内核版本

QString kernelVersion(); 

主机名

QString machineHostName();  

  机器唯一ID

QByteArray machineUniqueId();

返回完整的系统产品信息 productType + productVersion

QString prettyProductName();  

系统的产品类型

QString productType(); 

系统的产品版本
 

QString productVersion();  

完整代码如下:

void Dialog::slotGetSysInfo()
{
    QSysInfo sysInfo;
    QByteArray bootUniqueId = sysInfo.bootUniqueId();                   //机型启动的唯一ID, window11返回空字符串,Linux和Apple操作系统有返回值
    QString buildAbi = sysInfo.buildAbi();                              //返回编译Qt的完整体系结构字符串。此字符串用于识别不同的、不兼容的生成。例如,它可以用作从服务器请求升级包的标识符。
    QString buildCpuArchitecture = sysInfo.buildCpuArchitecture();      //编译时的CPU架构
    QString currentCpuArchitecture = sysInfo.currentCpuArchitecture();  //当前系统的CPU架构
    QString kernelType = sysInfo.kernelType();                          //内核类型
    QString kernelVersion = sysInfo.kernelVersion();                    //内核版本
    QString machineHostName = sysInfo.machineHostName();                //主机名
    QByteArray machineUniqueId = sysInfo.machineUniqueId();             //机器唯一ID
    QString prettyProductName = sysInfo.prettyProductName();            //返回完整的系统产品信息 productType + productVersion
    QString productType = sysInfo.productType();                        //系统的产品类型
    QString productVersion = sysInfo.productVersion();                  //系统的产品版本
    QString strInfo = QString("bootUniqueId=================%1\nbuildAbi=====================%2\nbuildCpuArchitecture=========%3\n"
                              "currentCpuArchitecture=======%4\nkernelType===================%5\nkernelVersion================%6\n"
                              "machineHostName==============%7\nmachineUniqueId==============%8\nprettyProductName============%9\n"
                              "productType==================%10\nproductVersion===============%11")
            .arg(QString(bootUniqueId)).arg(buildAbi).arg(buildCpuArchitecture)
            .arg(currentCpuArchitecture).arg(kernelType).arg(kernelVersion).arg(machineHostName)
            .arg(QString(machineUniqueId)).arg(prettyProductName).arg(productType).arg(productVersion);

    ui->textEdit->setText(strInfo);
     
}

运行结果:

Mac运行结果:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值