【QML】Qt和QML获取操作系统类型

1. Qt获取系统类型

c 复制代码
//方法
QSysInfo::productType()

//举例:
if(QSysInfo::productType() == "windows")
{
	qDebug() << "windows system";
}

官方说明:

c 复制代码
[static] QString QSysInfo::productType()
Returns the product name of the operating system this application is running in. If the application is running on some sort of emulation or virtualization layer (such as WINE on a Unix system), this function will inspect the emulation / virtualization layer.
Values returned by this function are stable and will not change over time, so applications can rely on the returned value as an identifier, except that new OS types may be added over time.
Linux and Android note: this function returns "android" for Linux systems running Android userspace, notably when using the Bionic library. For all other Linux systems, regardless of C library being used, it tries to determine the distribution name and returns that. If determining the distribution name failed, it returns "unknown".
macOS note: this function returns "osx" for all macOS systems, regardless of Apple naming convention. The returned string will be updated for Qt 6. Note that this function erroneously returned "macos" for macOS 10.12 in Qt versions 5.6.2, 5.7.1, and 5.8.0.
Darwin, iOS, tvOS, and watchOS note: this function returns "ios" for iOS systems, "tvos" for tvOS systems, "watchos" for watchOS systems, and "darwin" in case the system could not be determined.
FreeBSD note: this function returns "debian" for Debian/kFreeBSD and "unknown" otherwise.
Windows note: this function "winrt" for WinRT builds, and "windows" for normal desktop builds.
For other Unix-type systems, this function usually returns "unknown".
This function was introduced in Qt 5.4.
See also QFileSelector, kernelType(), kernelVersion(), productVersion(), and prettyProductName().

2. QML获取系统类型

c 复制代码
//方法
Qt.platform.os

//举例
if(Qt.platform.os === "windows"){
            console.log("windows system")
        }else if(Qt.platform.os === "linux"){
            console.log("linux system")
        }

官方说明:

c 复制代码
platform : object

The platform object provides info about the underlying platform.
Its properties are:

platform.os
This read-only property contains the name of the operating system.
Possible values are:
	"android" - Android
	"ios" - iOS
	"tvos" - tvOS
	"linux" - Linux
	"osx" - macOS
	"qnx" - QNX (since Qt 5.9.3)
	"unix" - Other Unix-based OS
	"windows" - Windows
	"winrt" - WinRT / UWP
	"wasm" - WebAssembly
platform.pluginName
This is the name of the platform set on the QGuiApplication instance as returned by QGuiApplication::platformName()

This property was introduced in Qt 5.1.
相关推荐
二川bro几秒前
Vuex Actions 多参数传递的解决方案及介绍
开发语言·前端·javascript
dokii15 分钟前
leetcode572 另一棵树的子树
java·开发语言·算法
知星小度S7 分钟前
今天你学C++了吗?——map
开发语言·c++
江沉晚呤时11 分钟前
深入探析C#设计模式:访问者模式(Visitor Pattern)的原理与应用
java·服务器·开发语言·数据库·.netcore
映秀小子12 分钟前
C语言打印的坑
c语言·开发语言
橘猫云计算机设计28 分钟前
基于php的成绩分析和预警与预测网站(源码+lw+部署文档+讲解),源码可白嫖!
开发语言·后端·信息可视化·毕业设计·php
@西瓜@34 分钟前
JAVAEE(多线程)
java·开发语言
七七知享38 分钟前
Python:开启自动化办公与游戏开发的无限可能
开发语言·python·程序人生·自动化·游戏程序·办公
代码代码快快显灵43 分钟前
java之file和IO流
java·开发语言
旺仔溜溜没1 小时前
在pycharm中搭建yolo11分类检测系统1--PyQt5学习(一)
ide·python·qt·学习·pycharm