Класс QSysInfo
Класс QSysInfo предоставляет информацию о системе. Подробнее...
| Заголовок: | #include <QSysInfo> |
| qmake: | QT += core |
Типы общедоступного использования
| Перечисление | Endian { BigEndian, LittleEndian, ByteOrder } |
| Перечисление | MacVersion { MV_9, MV_10_0, MV_10_1, MV_10_2, ..., MV_None } |
| Перечисление | Sizes { WordSize } |
| Перечисление | WinVersion { WV_32s, WV_95, WV_98, WV_Me, ..., WV_None } |
Статические члены публичного использования
| const MacVersion | MacintoshVersion |
| const WinVersion | WindowsVersion |
| QString | buildAbi() |
| QString | buildCpuArchitecture() |
| QString | currentCpuArchitecture() |
| QString | kernelType() |
| QString | kernelVersion() |
| MacVersion | macVersion() |
| QString | machineHostName() |
| QString | prettyProductName() |
| QString | productType() |
| QString | productVersion() |
| WinVersion | windowsVersion() |
Подробное описание
Класс QSysInfo предоставляет информацию о системе.
- WordSize указывает размер указателя для платформы, на которой скомпилировано приложение.
- ByteOrder указывает, является ли платформа big-endian или little-endian.
- WindowsVersion указывает версию операционной системы Windows, на которой выполняется приложение.
- MacintoshVersion указывает версию операционной системы Macintosh, на которой выполняется приложение.
Некоторые константы определены только на определенных платформах. Вы можете использовать препроцессорные символы Q_OS_WIN и Q_OS_MACOS для проверки того, что приложение скомпилировано под Windows или macOS.
См. также QLibraryInfo.
Документация по типам членов
enum QSysInfo::Endian
| Константа | Значение | Описание |
|---|---|---|
QSysInfo::BigEndian |
0 |
Порядок байтов big-endian (также называется сетевой порядок байтов) |
QSysInfo::LittleEndian |
1 |
Порядок байтов little-endian |
QSysInfo::ByteOrder |
<platform-dependent> |
Равно BigEndian или LittleEndian, в зависимости от порядка байтов платформы. |
enum QSysInfo::MacVersion
Это перечисление предоставляет символические имена для различных версий операционной системы Darwin, охватывая как macOS, так и iOS. Переменная QSysInfo::MacintoshVersion указывает версию системы, на которой выполняется приложение.
| Постоянная | Значение | Описание |
|---|---|---|
QSysInfo::MV_9 |
Q_MV_OSX( 9, 0 ) |
macOS 9 |
QSysInfo::MV_10_0 |
Q_MV_OSX( 10, 0 ) |
macOS 10.0 |
QSysInfo::MV_10_1 |
Q_MV_OSX( 10, 1 ) |
macOS 10.1 |
QSysInfo::MV_10_2 |
Q_MV_OSX( 10, 2 ) |
macOS 10.2 |
QSysInfo::MV_10_3 |
Q_MV_OSX( 10, 3 ) |
macOS 10.3 |
QSysInfo::MV_10_4 |
Q_MV_OSX( 10, 4 ) |
macOS 10.4 |
QSysInfo::MV_10_5 |
Q_MV_OSX( 10, 5 ) |
macOS 10.5 |
QSysInfo::MV_10_6 |
Q_MV_OSX( 10, 6 ) |
macOS 10.6 |
QSysInfo::MV_10_7 |
Q_MV_OSX( 10, 7 ) |
macOS 10.7 |
QSysInfo::MV_10_8 |
Q_MV_OSX( 10, 8 ) |
macOS 10.8 |
QSysInfo::MV_10_9 |
Q_MV_OSX( 10, 9 ) |
macOS 10.9 |
QSysInfo::MV_10_10 |
Q_MV_OSX( 10, 10 ) |
macOS 10.10 |
QSysInfo::MV_10_11 |
Q_MV_OSX( 10, 11 ) |
macOS 10.11 |
QSysInfo::MV_10_12 |
Q_MV_OSX( 10, 12 ) |
macOS 10.12 |
QSysInfo::MV_Unknown |
0x0000 |
Неизвестная и в настоящее время не поддерживаемая платформа |
QSysInfo::MV_CHEETAH |
MV_10_0 |
Кодовое название Apple для MV_10_0 |
QSysInfo::MV_PUMA |
MV_10_1 |
Кодовое название Apple для MV_10_1 |
QSysInfo::MV_JAGUAR |
MV_10_2 |
Кодовое название Apple для MV_10_2 |
QSysInfo::MV_PANTHER |
MV_10_3 |
Кодовое название Apple для MV_10_3 |
QSysInfo::MV_TIGER |
MV_10_4 |
Кодовое название Apple для MV_10_4 |
QSysInfo::MV_LEOPARD |
MV_10_5 |
Кодовое название Apple для MV_10_5 |
QSysInfo::MV_SNOWLEOPARD |
MV_10_6 |
Кодовое название Apple для MV_10_6 |
QSysInfo::MV_LION |
MV_10_7 |
Кодовое название Apple для MV_10_7 |
QSysInfo::MV_MOUNTAINLION |
MV_10_8 |
Кодовое название Apple для MV_10_8 |
QSysInfo::MV_MAVERICKS |
MV_10_9 |
Кодовое название Apple для MV_10_9 |
QSysInfo::MV_YOSEMITE |
MV_10_10 |
Кодовое название Apple для MV_10_10 |
QSysInfo::MV_ELCAPITAN |
MV_10_11 |
Кодовое название Apple для MV_10_11 |
QSysInfo::MV_SIERRA |
MV_10_12 |
Кодовое название Apple для MV_10_12 |
QSysInfo::MV_IOS |
1<<8 |
iOS (любая) |
QSysInfo::MV_IOS_4_3 |
? | iOS 4.3 |
QSysInfo::MV_IOS_5_0 |
? | iOS 5.0 |
QSysInfo::MV_IOS_5_1 |
? | iOS 5.1 |
QSysInfo::MV_IOS_6_0 |
? | iOS 6.0 |
QSysInfo::MV_IOS_6_1 |
? | iOS 6.1 |
QSysInfo::MV_IOS_7_0 |
? | iOS 7.0 |
QSysInfo::MV_IOS_7_1 |
? | iOS 7.1 |
QSysInfo::MV_IOS_8_0 |
? | iOS 8.0 |
QSysInfo::MV_IOS_8_1 |
? | iOS 8.1 |
QSysInfo::MV_IOS_8_2 |
? | iOS 8.2 |
QSysInfo::MV_IOS_8_3 |
? | iOS 8.3 |
QSysInfo::MV_IOS_8_4 |
? | iOS 8.4 |
QSysInfo::MV_IOS_9_0 |
? | iOS 9.0 |
QSysInfo::MV_IOS_9_1 |
? | iOS 9.1 |
QSysInfo::MV_IOS_9_2 |
? | iOS 9.2 |
QSysInfo::MV_IOS_9_3 |
? | iOS 9.3 |
QSysInfo::MV_IOS_10_0 |
? | iOS 10.0 |
QSysInfo::MV_None |
0xffff |
Не является операционной системой Darwin |
См. также WinVersion.
enum QSysInfo::Sizes
Этот перечисление предоставляет платформозависимую информацию о размерах структур данных, используемых базовой архитектурой.
| Постоянная | Значение | Описание |
|---|---|---|
QSysInfo::WordSize |
( sizeof( void * ) <<3 ) |
Размер в битах указателя для платформы, на которой скомпилировано приложение (32 или 64). |
enum QSysInfo::WinVersion
Это перечисление предоставляет символические имена для различных версий операционной системы Windows. В Windows переменная QSysInfo::WindowsVersion указывает версию системы, на которой выполняется приложение.
Версии на основе MS-DOS:
| Постоянная | Значение | Описание |
|---|---|---|
QSysInfo::WV_32s |
0x0001 |
Windows 3.1 с Win 32s |
QSysInfo::WV_95 |
0x0002 |
Windows 95 |
QSysInfo::WV_98 |
0x0003 |
Windows 98 |
QSysInfo::WV_Me |
0x0004 |
Windows Me |
Версии на основе NT (обратите внимание, что каждая версия операционной системы представлена только один раз, а не каждое издание Windows):
| Постоянная | Значение | Описание |
|---|---|---|
QSysInfo::WV_NT |
0x0010 |
Windows NT (версия операционной системы 4.0) |
QSysInfo::WV_2000 |
0x0020 |
Windows 2000 (версия операционной системы 5.0) |
QSysInfo::WV_XP |
0x0030 |
Windows XP (версия операционной системы 5.1) |
QSysInfo::WV_2003 |
0x0040 |
Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (версия операционной системы 5.2) |
QSysInfo::WV_VISTA |
0x0080 |
Windows Vista, Windows Server 2008 (версия операционной системы 6.0) |
QSysInfo::WV_WINDOWS7 |
0x0090 |
Windows 7, Windows Server 2008 R2 (версия операционной системы 6.1) |
QSysInfo::WV_WINDOWS8 |
0x00a0 |
Windows 8 (версия операционной системы 6.2) |
QSysInfo::WV_WINDOWS8_1 |
0x00b0 |
Windows 8.1 (версия операционной системы 6.3), добавлено в Qt 5.2 |
QSysInfo::WV_WINDOWS10 |
0x00c0 |
Windows 10 (версия операционной системы 10.0), добавлено в Qt 5.5 |
В качестве альтернативы, вы можете использовать следующие макросы, которые напрямую соответствуют номеру версии операционной системы Windows:
| Постоянная | Значение | Описание |
|---|---|---|
QSysInfo::WV_4_0 |
WV_NT |
Версия операционной системы 4.0, соответствует Windows NT |
QSysInfo::WV_5_0 |
WV_2000 |
Версия операционной системы 5.0, соответствует Windows 2000 |
QSysInfo::WV_5_1 |
WV_XP |
Версия операционной системы 5.1, соответствует Windows XP |
QSysInfo::WV_5_2 |
WV_2003 |
Версия операционной системы 5.2, соответствует Windows Server 2003, Windows Server 2003 R2, Windows Home Server и Windows XP Professional x64 Edition |
QSysInfo::WV_6_0 |
WV_VISTA |
Версия операционной системы 6.0, соответствует Windows Vista и Windows Server 2008 |
QSysInfo::WV_6_1 |
WV_WINDOWS7 |
Версия операционной системы 6.1, соответствует Windows 7 и Windows Server 2008 R2 |
QSysInfo::WV_6_2 |
WV_WINDOWS8 |
Версия операционной системы 6.2, соответствует Windows 8 |
QSysInfo::WV_6_3 |
WV_WINDOWS8_1 |
Версия операционной системы 6.3, соответствует Windows 8.1, представлена в Qt 5.2 |
QSysInfo::WV_10_0 |
WV_WINDOWS10 |
Версия операционной системы 10.0, соответствует Windows 10, представлена в Qt 5.5 |
Версии на основе CE:
| Постоянная | Значение | Описание |
|---|---|---|
QSysInfo::WV_CE |
0x0100 |
Windows CE |
QSysInfo::WV_CENET |
0x0200 |
Windows CE .NET |
QSysInfo::WV_CE_5 |
0x0300 |
Windows CE 5.x |
QSysInfo::WV_CE_6 |
0x0400 |
Windows CE 6.x |
Следующие маски могут использоваться для проверки, основана ли версия Windows на MS-DOS, NT или CE:
| Постоянная | Значение | Описание |
|---|---|---|
QSysInfo::WV_DOS_based |
0x000f |
Версия Windows, основанная на MS-DOS |
QSysInfo::WV_NT_based |
0x00f0 |
Версия Windows, основанная на NT |
QSysInfo::WV_CE_based |
0x0f00 |
Версия Windows, основанная на CE |
QSysInfo::WV_None |
0x0000 |
Операционная система, отличная от Windows. |
См. также MacVersion.
Документация по членам-функциям
[static] QString QSysInfo::buildAbi()
Возвращает полную строку архитектуры, для которой был скомпилирован Qt. Эта строка полезна для идентификации различных несовместимых сборок. Например, она может использоваться в качестве идентификатора для запроса пакета обновления с сервера.
Значения, возвращаемые этой функцией, поддерживаются стабильно следующим образом: обязательные компоненты результата не изменятся в будущих версиях Qt, но могут быть добавлены дополнительные суффиксы.
Возвращаемое значение состоит из трех или более частей, разделенных дефисами ("-"). Это:
| Компонент | Значение |
|---|---|
| Архитектура процессора | Такая же, как QSysInfo::buildCpuArchitecture(), например, "arm", "i386", "mips" или "x86_64" |
| Порядок байтов | "little_endian" или "big_endian" |
| Размер слова | Является ли это 32- или 64-разрядным приложением. Возможные значения: "llp64" (Windows 64-разрядная), "lp64" (Unix 64-разрядная), "ilp32" (32-разрядная) |
| (Необязательно) ABI | Ноль или более компонентов, идентифицирующих различные ABI, возможные в этой архитектуре. В настоящее время Qt имеет необязательные компоненты ABI для процессоров ARM и MIPS: один компонент — основной ABI (например, "eabi", "o32", "n32", "o64"); другой — использует ли соглашение о вызовах регистры с плавающей запятой аппаратного обеспечения ("hardfloat" присутствует). Кроме того, если Qt был сконфигурирован с |
Эта функция была представлена в Qt 5.4.
См. также QSysInfo::buildCpuArchitecture().
[static] QString QSysInfo::buildCpuArchitecture()
Возвращает архитектуру процессора, для которого был скомпилирован Qt, в текстовом формате. Обратите внимание, что она может не соответствовать фактическому процессору, на котором выполняется приложение, если существует уровень эмуляции или если процессор поддерживает несколько архитектур (например, процессоры x86-64, поддерживающие приложения i386). Чтобы определить это, используйте currentCpuArchitecture().
Значения, возвращаемые этой функцией, стабильны и не изменятся со временем, поэтому приложения могут полагаться на возвращаемое значение в качестве идентификатора, за исключением того, что новые типы процессоров могут быть добавлены со временем.
Типичные возвращаемые значения (список неполный):
- "arm"
- "arm64"
- "i386"
- "ia64"
- "mips"
- "mips64"
- "power"
- "power64"
- "sparc"
- "sparcv9"
- "x86_64"
Эта функция была представлена в Qt 5.4.
См. также QSysInfo::buildAbi() и QSysInfo::currentCpuArchitecture().
[static] QString QSysInfo::currentCpuArchitecture()
Возвращает архитектуру процессора, на котором выполняется приложение, в текстовом формате. Обратите внимание, что эта функция зависит от того, что сообщит операционная система, и может не обнаружить фактическую архитектуру процессора, если операционная система скрывает эту информацию или не может ее предоставить. Например, 32-разрядная операционная система, работающая на 64-разрядном процессоре, обычно не может определить, что процессор фактически способен выполнять 64-разрядные программы.
Значения, возвращаемые этой функцией, в основном стабильны: будет сделана попытка убедиться, что они остаются постоянными со временем и соответствуют значениям, возвращаемым QSysInfo::builldCpuArchitecture(). Однако из-за характера используемых функций операционной системы могут быть расхождения.
Типичные возвращаемые значения (список неполный):
- "arm"
- "arm64"
- "i386"
- "ia64"
- "mips"
- "mips64"
- "power"
- "power64"
- "sparc"
- "sparcv9"
- "x86_64"
Эта функция была представлена в Qt 5.4.
См. также QSysInfo::buildAbi() и QSysInfo::buildCpuArchitecture().
[static] QString QSysInfo::kernelType()
Возвращает тип ядра операционной системы, для которого был скомпилирован Qt. Также это ядро, на котором работает приложение, если хост-операционная система не выполняет функции совместимости или виртуализации.
Значения, возвращаемые этой функцией, стабильны и не изменятся со временем, поэтому приложения могут полагаться на возвращаемое значение в качестве идентификатора, за исключением того, что новые типы ядер ОС могут быть добавлены со временем.
В Windows эта функция возвращает тип ядра Windows, например, "wince" или "winnt". В системах Unix она возвращает то же, что и вывод uname -s (в нижнем регистре).
Обратите внимание, что эта функция может возвращать неожиданные значения: она возвращает "linux" для всех операционных систем, работающих под Linux (включая Android), "qnx" для всех операционных систем, работающих под QNX (включая BlackBerry 10), "freebsd" для Debian/kFreeBSD и "darwin" для macOS и iOS. Для получения информации о типе продукта, на котором выполняется приложение, см. productType().
Эта функция была представлена в Qt 5.4.
См. также QFileSelector, kernelVersion(), productType(), productVersion() и prettyProductName().
[static] QString QSysInfo::kernelVersion()
Возвращает версию релиза ядра операционной системы. В Windows она возвращает версию ядра NT или CE. В системах Unix, включая Android, BlackBerry и macOS, она возвращает то же, что и команда uname -r.
Если версия не может быть определена, эта функция может вернуть пустую строку.
Эта функция была представлена в Qt 5.4.
См. также kernelType(), productType(), productVersion() и prettyProductName().
[static] MacVersion QSysInfo::macVersion()
Возвращает версию Darwin (macOS или iOS), на которой выполняется приложение, или MV_None, если операционная система не является версией Darwin.
[static] QString QSysInfo::machineHostName()
Возвращает имя хоста этой машины, если оно настроено. Обратите внимание, что имена хостов не гарантируется, что они будут глобально уникальными, особенно если они были настроены автоматически.
Эта функция не гарантирует, что возвращаемое имя хоста является полным доменным именем (FQDN). Для этого используйте QHostInfo для разрешения возвращённого имени в FQDN.
Эта функция возвращает то же, что и QHostInfo::localHostName().
Эта функция была введена в Qt 5.6.
См. также QHostInfo::localDomainName.
[static] QString QSysInfo::prettyProductName()
Возвращает более удобочитаемый вид productType() и productVersion(), содержащий другие токены, такие как тип операционной системы, кодовые названия и другую информацию. Результат этой функции подходит для отображения пользователю, но не для долгосрочного хранения, так как строка может измениться с обновлениями Qt.
Если productType() равно "unknown", эта функция вместо этого будет использовать функции kernelType() и kernelVersion().
Эта функция была введена в Qt 5.4.
См. также kernelType(), kernelVersion(), productType() и productVersion().
[static] QString QSysInfo::productType()
Возвращает имя продукта операционной системы, в которой выполняется это приложение. Если приложение выполняется на некотором эмуляционном или виртуализирующем слое (например, WINE на системе Unix), эта функция проверит эмуляционный/виртуализирующий слой.
Значения, возвращаемые этой функцией, стабильны и не будут изменяться со временем, поэтому приложения могут полагаться на возвращаемое значение в качестве идентификатора, за исключением того, что новые типы ОС могут быть добавлены со временем.
Примечание для Linux и Android: эта функция возвращает "android" для систем Linux, работающих под Android, в частности, при использовании библиотеки Bionic. Для всех других систем Linux, независимо от используемой библиотеки C, она пытается определить имя дистрибутива и возвращает его. Если определение имени дистрибутива не удалось, она возвращает "unknown".
Примечание для BlackBerry: эта функция возвращает "blackberry" для систем QNX, работающих под BlackBerry, но "qnx" для всех остальных систем на базе QNX.
Примечание для Darwin, macOS и iOS: эта функция возвращает "macos" для macOS, "ios" для iOS и "darwin", если система не может быть определена.
Примечание для OS X: эта функция возвращает "osx" для версий macOS до 10.12.
Примечание для FreeBSD: эта функция возвращает "debian" для Debian/kFreeBSD и "unknown" в противном случае.
Примечание для Windows: эта функция возвращает "winphone" для сборок для Windows Phone, "winrt" для WinRT сборок, "wince" для Windows CE и Embedded Compact сборок и "windows" для обычных настольных сборок.
Для других систем типа Unix эта функция обычно возвращает "unknown".
Эта функция была введена в Qt 5.4.
См. также QFileSelector, kernelType(), kernelVersion(), productVersion() и prettyProductName().
[static] QString QSysInfo::productVersion()
Возвращает версию продукта операционной системы в строковом формате. Если версия не может быть определена, эта функция возвращает "unknown".
Она вернёт полные версии Android, BlackBerry, iOS, macOS и Windows на этих системах. В частности, на macOS, iOS и Windows возвращаемая строка аналогична перечислениям macVersion() или windowsVersion().
На системах Linux она попытается определить версию дистрибутива и вернёт её. Это также делается для Debian/kFreeBSD, поэтому эта функция вернёт версию Debian в этом случае.
Во всех других системах типа Unix эта функция всегда возвращает "unknown".
Примечание: строка версии, возвращаемая этой функцией, гарантирует упорядоченность только на Android, BlackBerry, macOS и iOS. На Windows некоторые версии Windows являются текстом ("XP" и "Vista", например). На Linux версия дистрибутива может неожиданно изменяться, пожалуйста, обратитесь к документации дистрибутива для понимания правил версии.
Эта функция была введена в Qt 5.4.
См. также kernelType(), kernelVersion(), productType() и prettyProductName().
[static] WinVersion QSysInfo::windowsVersion()
Возвращает версию операционной системы Windows, на которой запущено приложение, или WV_None, если операционная система не Windows.
Эта функция была введена в Qt 4.4.
Документация переменных-членов
const MacVersion QSysInfo::MacintoshVersion
Эта переменная хранит версию операционной системы Macintosh, на которой запущено приложение.
const WinVersion QSysInfo::WindowsVersion
Эта переменная хранит версию операционной системы Windows, на которой запущено приложение.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qsysinfo.html