Spec-Zone.ru › Qt 5.6

Класс 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 был сконфигурирован с -qreal float, тег опции ABI "qreal_float" будет присутствовать. Если Qt был сконфигурирован с другим типом как qreal, этот тип присутствует после "qreal_", все символы, кроме букв и цифр, экранированы подчеркиванием, за которым следуют две шестнадцатеричные цифры. Например, -qreal long double становится "qreal_long_20double".

Эта функция была представлена в 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API