QSysInfo Class
La clase QSysInfo proporciona información sobre el sistema. Más...
| Cabecera: | #include <QSysInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Tipos públicos
Miembros públicos estáticos
| QByteArray | bootUniqueId() |
| QString | buildAbi() |
| QString | buildCpuArchitecture() |
| QString | currentCpuArchitecture() |
| QString | kernelType() |
| QString | kernelVersion() |
| QString | machineHostName() |
| QByteArray | machineUniqueId() |
| QString | prettyProductName() |
| QString | productType() |
| QString | productVersion() |
Descripción detallada
- WordSize especifica el tamaño de un puntero para la plataforma en la que se compila la aplicación.
- ByteOrder especifica si la plataforma es big-endian o little-endian.
Algunas constantes sólo se definen en determinadas plataformas. Puedes utilizar los símbolos del preprocesador Q_OS_WIN y Q_OS_MACOS para comprobar que la aplicación está compilada en Windows o macOS.
Véase también QLibraryInfo.
Documentación de tipos de miembros
enum QSysInfo::Endian
| Constante | Valor | Descripción |
|---|---|---|
QSysInfo::BigEndian | 0 | Big-endian byte order (también llamado Network byte order) |
QSysInfo::LittleEndian | 1 | Orden de bytes Little-endian |
QSysInfo::ByteOrder | BigEndian or LittleEndian | Equivale a BigEndian o LittleEndian, dependiendo del orden de bytes de la plataforma. |
enum QSysInfo::Sizes
Este enum proporciona información específica de la plataforma sobre los tamaños de las estructuras de datos utilizadas por la arquitectura subyacente.
| Constante | Valor | Descripción |
|---|---|---|
QSysInfo::WordSize | (sizeof(void *)<<3) | El tamaño en bits de un puntero para la plataforma en la que está compilada la aplicación (32 o 64). |
Documentación de las funciones miembro
[static] QByteArray QSysInfo::bootUniqueId()
Devuelve un ID único para el arranque de esta máquina, si se puede determinar uno. Si no se puede determinar un ID único, esta función devuelve una matriz de bytes vacía. Se espera que este valor cambie después de cada arranque y puede considerarse globalmente único.
Actualmente, esta función sólo está implementada para los sistemas operativos Linux y Apple.
Véase también machineUniqueId().
[static] QString QSysInfo::buildAbi()
Devuelve la cadena de arquitectura completa para la que se compiló Qt. Esta cadena es útil para identificar diferentes compilaciones incompatibles. Por ejemplo, puede utilizarse como identificador para solicitar un paquete de actualización a un servidor.
Los valores devueltos por esta función se mantienen estables de la siguiente manera: los componentes obligatorios del resultado no cambiarán en futuras versiones de Qt, pero pueden añadirse sufijos opcionales.
El valor devuelto se compone de tres o más partes, separadas por guiones ("-"). Éstas son
| Componente | Valor |
|---|---|
| Arquitectura de la CPU | La misma que QSysInfo::buildCpuArchitecture(), como "arm", "i386", "mips" o "x86_64". |
| Endianidad | "little_endian" o "big_endian" |
| Tamaño de la palabra | Si se trata de una aplicación de 32 o 64 bits. Los valores posibles son: "llp64" (Windows 64 bits), "lp64" (Unix 64 bits), "ilp32" (32 bits) |
| (Opcional) ABI | Cero o más componentes que identifican las diferentes ABI posibles en esta arquitectura. Actualmente, Qt tiene componentes ABI opcionales para procesadores ARM y MIPS: un componente es el ABI principal (como "eabi", "o32", "n32", "o64"); otro es si la convención de llamada está usando registros de punto flotante por hardware ("hardfloat" está presente). Además, si Qt se configuró con |
Véase también QSysInfo::buildCpuArchitecture().
[static] QString QSysInfo::buildCpuArchitecture()
Devuelve la arquitectura de la CPU para la que se compiló Qt, en formato de texto. Tenga en cuenta que esto puede no coincidir con la CPU real en la que se está ejecutando la aplicación si hay una capa de emulación o si la CPU soporta múltiples arquitecturas (como los procesadores x86-64 que soportan aplicaciones i386). Para detectarlo, utilice currentCpuArchitecture().
Los valores devueltos por esta función son estables y no cambiarán con el tiempo, por lo que las aplicaciones pueden confiar en el valor devuelto como identificador, salvo que se añadan nuevos tipos de CPU con el tiempo.
Los valores típicos devueltos son (nota: lista no exhaustiva):
- "arm"
- "arm64
- "i386"
- "ia64
- "mips"
- "mips64"
- "power"
- "power64"
- "sparc"
- "sparcv9"
- "x86_64"
Véase también QSysInfo::buildAbi() y QSysInfo::currentCpuArchitecture().
[static] QString QSysInfo::currentCpuArchitecture()
Devuelve la arquitectura de la CPU en la que se está ejecutando la aplicación, en formato de texto. Tenga en cuenta que esta función depende de lo que informe el SO y puede que no detecte la arquitectura real de la CPU si el SO oculta esa información o es incapaz de proporcionarla. Por ejemplo, un sistema operativo de 32 bits que se ejecuta en una CPU de 64 bits normalmente no puede determinar si la CPU es capaz de ejecutar programas de 64 bits.
Los valores devueltos por esta función son en su mayoría estables: se intentará garantizar que permanezcan constantes a lo largo del tiempo y que coincidan con los valores devueltos por buildCpuArchitecture(). Sin embargo, debido a la naturaleza de las funciones del sistema operativo que se utilizan, puede haber discrepancias.
Los valores típicos devueltos son (nota: lista no exhaustiva):
- "arm"
- "arm64
- "i386"
- "ia64
- "mips"
- "mips64"
- "power"
- "power64"
- "sparc"
- "sparcv9"
- "x86_64"
Véase también QSysInfo::buildAbi() y QSysInfo::buildCpuArchitecture().
[static] QString QSysInfo::kernelType()
Devuelve el tipo de kernel del sistema operativo para el que se compiló Qt. También es el kernel en el que se está ejecutando la aplicación, a menos que el sistema operativo anfitrión esté ejecutando una forma de compatibilidad o capa de virtualización.
Los valores devueltos por esta función son estables y no cambiarán con el tiempo, por lo que las aplicaciones pueden confiar en el valor devuelto como un identificador, excepto que nuevos tipos de kernel del sistema operativo pueden ser añadidos con el tiempo.
En Windows, esta función devuelve el tipo de kernel de Windows, como "winnt". En sistemas Unix, devuelve lo mismo que la salida de uname -s (en minúsculas).
Nota: Esta función puede devolver valores sorprendentes: devuelve "linux" para todos los sistemas operativos que ejecutan Linux (incluido Android), "qnx" para todos los sistemas operativos que ejecutan QNX, "freebsd" para Debian/kFreeBSD, y "darwin" para macOS e iOS. Para obtener información sobre el tipo de producto en el que se ejecuta la aplicación, consulte productType().
Véase también QFileSelector, kernelVersion(), productType(), productVersion(), y prettyProductName().
[static] QString QSysInfo::kernelVersion()
Devuelve la versión de lanzamiento del kernel del sistema operativo. En Windows, devuelve la versión del kernel NT. En sistemas Unix, incluyendo Android y macOS, devuelve lo mismo que devolvería el comando uname -r. En VxWorks, devuelve la parte numérica de la cadena informada por kernelVersion().
Si no se ha podido determinar la versión, esta función puede devolver una cadena vacía.
Véase también kernelType(), productType(), productVersion() y prettyProductName().
[static] QString QSysInfo::machineHostName()
Devuelve el nombre de host de esta máquina, si hay uno configurado. Tenga en cuenta que no se garantiza que los nombres de host sean globalmente únicos, especialmente si se configuraron automáticamente.
Esta función no garantiza que el nombre de host devuelto sea un Nombre de Dominio Completamente Cualificado (FQDN). Para ello, utilice QHostInfo para resolver el nombre devuelto a un FQDN.
Esta función devuelve lo mismo que QHostInfo::localHostName().
Véase también QHostInfo::localDomainName y machineUniqueId().
[static] QByteArray QSysInfo::machineUniqueId()
Devuelve un ID único para esta máquina, si se puede determinar uno. Si no se puede determinar un ID único, esta función devuelve una matriz de bytes vacía. A diferencia de machineHostName(), el valor devuelto por esta función es probablemente único a nivel mundial.
Un ID único es útil en operaciones de red para identificar esta máquina durante un largo periodo de tiempo, cuando la dirección IP puede cambiar o si esta máquina puede tener más de una dirección IP. Por ejemplo, el ID podría utilizarse cuando se comunica con un servidor o cuando se almacenan datos específicos del dispositivo en el almacenamiento de red compartido.
Tenga en cuenta que en algunos sistemas, este valor persistirá a través de reinicios y en otros no. Las aplicaciones no deberían depender ciegamente de este hecho sin verificar las capacidades del sistema operativo. En particular, en los sistemas Linux, este ID suele ser permanente y coincide con el ID de máquina D-Bus, excepto en los nodos sin almacenamiento propio (nodos replicados).
Véase también machineHostName() y bootUniqueId().
[static] QString QSysInfo::prettyProductName()
Devuelve una forma más bonita de productType() y productVersion(), que contiene otros tokens como el tipo de sistema operativo, nombres en clave y otra información. El resultado de esta función es adecuado para mostrarlo al usuario, pero no para almacenarlo a largo plazo, ya que la cadena puede cambiar con las actualizaciones de Qt.
Si productType() es "desconocido", esta función utilizará en su lugar las funciones kernelType() y kernelVersion().
Véase también kernelType(), kernelVersion(), productType() y productVersion().
[static] QString QSysInfo::productType()
Devuelve el nombre de producto del sistema operativo en el que se está ejecutando esta aplicación. Si la aplicación se está ejecutando en algún tipo de capa de emulación o virtualización (como WINE en un sistema Unix), esta función inspeccionará la capa de emulación / virtualización.
Los valores devueltos por esta función son estables y no cambiarán con el tiempo, por lo que las aplicaciones pueden confiar en el valor devuelto como un identificador, salvo que se puedan añadir nuevos tipos de SO con el tiempo.
Nota sobre Linux y Android: esta función devuelve "android" para los sistemas Linux que ejecutan el espacio de usuario Android, especialmente cuando se utiliza la biblioteca Bionic. Para todos los demás sistemas Linux, independientemente de la biblioteca C que se utilice, intenta determinar el nombre de la distribución y lo devuelve. Si la determinación del nombre de la distribución falla, devuelve "desconocido".
Nota para macOS: esta función devuelve "macos" para todos los sistemas macOS, independientemente de la convención de nomenclatura de Apple. Anteriormente, en Qt 5, devolvía "osx", de nuevo independientemente de las convenciones de nomenclatura de Apple.
Darwin, iOS, tvOS, y watchOS nota: esta función devuelve "ios" para sistemas iOS, "tvos" para sistemas tvOS, "watchos" para sistemas watchOS, y "darwin" en caso de que no se pueda determinar el sistema.
Nota sobre FreeBSD: esta función devuelve "debian" para Debian/kFreeBSD y "desconocido" en caso contrario.
Nota para Windows: esta función devuelve "windows".
VxWorks nota: esta función devuelve "vxworks".
Para otros sistemas de tipo Unix, esta función suele devolver "desconocido".
Véase también QFileSelector, kernelType(), kernelVersion(), productVersion(), y prettyProductName().
[static] QString QSysInfo::productVersion()
Devuelve la versión del producto del sistema operativo en forma de cadena. Si no se ha podido determinar la versión, esta función devuelve "desconocido".
Devolverá las versiones de producto completas de Android, iOS, macOS, VxWorks, Windows en esos sistemas.
Los valores típicos devueltos son (nota: lista no exhaustiva):
- "12" (Android 12)
- "36" (Fedora 36)
- "15.5" (iOS 15.5)
- "12.4" (macOS Monterey)
- "22.04" (Ubuntu 22.04)
- "8.6" (watchOS 8.6)
- "11" (Windows 11)
- "Server 2022" (Windows Server 2022)
- "24.03" (VxWorks 7 - 24.03)
En sistemas Linux, intentará determinar la versión de la distribución y la devolverá. Esto también se hace en Debian/kFreeBSD, por lo que esta función devolverá la versión Debian en ese caso.
En todos los demás sistemas de tipo Unix, esta función siempre devuelve "desconocido".
Nota: No se garantiza que la cadena de versión devuelta por esta función sea ordenable. En Linux, la versión de la distribución puede saltar inesperadamente, consulte la documentación de la distribución para conocer las prácticas de versionado.
Véase también kernelType(), kernelVersion(), productType(), y prettyProductName().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.