查询操作系统类型和版本

Qt5.12.4中,QSysInfo提供的查询操作系统类型和版本的接口已经定义为过时。但并不是说这整个类被定义为过时的。

Public Types
(obsolete) enum MacVersion { MV_9, MV_10_0, MV_10_1, MV_10_2, …, MV_None }
(obsolete) enum WinVersion { WV_32s, WV_95, WV_98, WV_Me, …, WV_None }
Static Public Members
(obsolete) const QSysInfo::MacVersion MacintoshVersion
(obsolete) const QSysInfo::WinVersion WindowsVersion
(obsolete) QSysInfo::MacVersion macVersion()
(obsolete) QSysInfo::WinVersion windowsVersion()

新的方法是使用QOperatingSystemVersion类提供的方法,但只能查询Windows或Mac的系统信息,其构造函数只有一个,如下:

QOperatingSystemVersion::QOperatingSystemVersion(QOperatingSystemVersion::OSType osType, int vmajor, int vminor = …, int vmicro = …)
Constructs a QOperatingSystemVersion consisting of the OS type osType, and major, minor, and micro version numbers vmajor, vminor and vmicro, respectively.

构造Windows系统相应的版本,可参考下面的表格。

OSTypevmajorvminorvmicroOSName
QOperatingSystemVersion::Windows61-Windows7
QOperatingSystemVersion::Windows62-Windows8
QOperatingSystemVersion::Windows63-Windows8_1
QOperatingSystemVersion::Windows100-Windows10

例如构造一个Win10的类,

QOperatingSystemVersion win10 = QOperatingSystemVersion(QOperatingSystemVersion::Windows, 10,0)

判断当前操作系统是否是Win10的版本,可以用如下方法:

if ( QOperatingSystemVersion::current() < QOperatingSystemVersion(QOperatingSystemVersion::Windows, 10, 0))
{
	/* 如果当前系统版本低于win10,例如win7、win8、win8.1, todo */
}
else
{
	/* 如果当前系统版本是win10,todo */
}

需要注意的是,QOperatingSystemVersion类没有直接判断是否相等的方法,也就是说,你不能这么写。

/* 错误的写法 */
if (QOperatingSystemVersion::current() == QOperatingSystemVersion(QOperatingSystemVersion::Windows, 10, 0))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值