QT如何检测当前系统是是Windows还是Uninx或Mac?以及是哪个版本?

简介

通过Qt获取当前系统及版本号,需要用到QSysInfo
QSysInfo类提供有关系统的信息。
WordSize指定了应用程序编译所在的平台的指针大小。
ByteOrder指定了平台是大端序还是小端序。
某些常量仅在特定的平台上定义。您可以使用预处理器符号Q_OS_WINQ_OS_MACOS来测试应用程序是否在WindowsmacOS下编译。

常用函数

以下函数是获取系统信息的函数。

  • buildCpuArchitecture():构建CPU架构
  • currentCpuArchitecture():当前CPU架构
  • buildAbi():构建ABI(应用程序二进制接口)
  • kernelType():内核类型
  • kernelVersion():内核版本
  • productType():产品类型
  • productVersion():产品版本
  • prettyProductName():产品名称

示例

需引用头文件:

#include 
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::buildCpuArchitecture();
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::currentCpuArchitecture();
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::buildAbi();

    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::kernelType();
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::kernelVersion();
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::productType();
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::productVersion();
    qDebug().noquote() << "[" << __FILE__ << __LINE__ << "]" << QSysInfo::prettyProductName();

输出:

[ ..\untitled44\mainwindow.cpp 14 ] i386
[ ..\untitled44\mainwindow.cpp 15 ] x86_64
[ ..\untitled44\mainwindow.cpp 16 ] i386-little_endian-ilp32
[ ..\untitled44\mainwindow.cpp 18 ] winnt
[ ..\untitled44\mainwindow.cpp 19 ] 10.0.19041
[ ..\untitled44\mainwindow.cpp 20 ] windows
[ ..\untitled44\mainwindow.cpp 21 ] unknown
[ ..\untitled44\mainwindow.cpp 22 ] Windows 

你可能感兴趣的:(Qt编程,Qt记录,qt,windows,macos)