Requisitos del objetivo de tiempo de ejecución de Qt para QNX
QNX Software Systems ofrece soluciones de software para la creación de dispositivos embebidos. Esto incluye la creación de imágenes de arranque QNX Neutrino RTOS de una manera muy flexible. Aunque QNX proporciona varios scripts de referencia para la creación de imágenes del SO, tarde o temprano necesitarás realizar cambios o puede que decidas crear una imagen del SO desde cero. Qt se basa en la existencia de varios componentes de terceros y servicios seleccionados del SO. Debido a esto, las imágenes de arranque de QNX Neutrino RTOS para un dispositivo de destino que ejecute Qt deben cumplir los requisitos enumerados en las siguientes secciones para garantizar que Qt funcione como se espera.
Subsistema gráfico de pantalla QNX
Antes de que cualquier aplicación Qt pueda ser iniciada, el subsistema gráfico de pantalla QNX (también llamado simplemente "Screen") debe estar ejecutándose. Screen consiste en un controlador y varias utilidades y servicios que son utilizados por Qt. Esto incluye también el procesamiento de eventos de ratón y teclado. Puedes asegurarte de que Screen está configurado y ejecutándose correctamente verificando que una aplicación gráfica, como gles2-gears, puede iniciarse y ejecutarse sin problemas.
La mayoría de los ejemplos recientes de scripts de construcción del SO en el SDP incluyen secciones con todos los componentes y comandos de inicio para la Pantalla. Puedes utilizarlos como referencia.
Soporte IPv6
La pila de red de Qt requiere que el soporte IPv6 esté habilitado, independientemente de si la red real utiliza IPv4 o IPv6.
Advertencia: io-pkt-v6-hc debe estar ejecutándose, no io-pkt-v4.
Dispositivo aleatorio /dev/random
Qt requiere que /dev/random esté presente y en funcionamiento. Inícialo antes de iniciar cualquier aplicación Qt o durante el arranque del sistema:
random -p waitfor /dev/random
Registrador del sistema
QNX proporciona el marco de registro slog2 adaptado a las especificidades de los sistemas embebidos. Su mayor ventaja es un mejor rendimiento que la salida de texto a ficheros. Qt utiliza este marco por defecto para cualquier salida de registro a través de QDebug en QNX Neutrino RTOS. El servicio slog2 debe iniciarse durante el arranque del sistema. slog2 también depende de la existencia de la carpeta /tmp que también debe ser configurada, por ejemplo:
[type=link] /tmp=/dev/shmem display_msg "Starting slogger2..." slogger2 -U1001:1000 & waitfor /dev/slog2
Variables de entorno
Hay un conjunto de variables de entorno que debes configurar al iniciar una aplicación Qt. La mayoría de ellas no son específicas de QNX Neutrino RTOS. Aún así se mencionan aquí, ya que conocerlas ahorra mucho tiempo en caso de problemas.
Nota: setconf y getconf son necesarios para acceder a las variables de entorno POSIX, especialmente para el nombre del host y la fecha y hora.
Qt runtime location (Ubicación del tiempo de ejecución de Qt)
Si no has compilado Qt con la variable de entorno RPATH establecida, puedes colocar los componentes de tiempo de ejecución de Qt en cualquier carpeta del sistema de archivos. Las siguientes variables de entorno deberían apuntar a ubicaciones válidas asumiendo que la instalación de Qt se encuentra en <Qt-install-path>:
LD_LIBRARY_PATHdebe contener la ruta a las librerías Qt en<Qt-install-path>/lib.QT_PLUGIN_PATHdefine dónde se encuentran los plug-ins de Qt. Debe establecerse en<Qt-install-path>/plugins.QML2_IMPORT_PATHdefine dónde se encuentran los plug-ins de Qt Quick. Debe establecerse en<Qt-install-path>/qml.- Si Qt no utiliza fontconfig, debe proporcionar la ruta a las fuentes con
QT_QPA_FONTDIR, o colocar las fuentes en<Qt-install-path>/lib/fontsque es la ubicación de fuentes por defecto. - Consulte
QT_QPA_QNX_DISPLAY_CONFIGpara conocer el número y orden de las pantallas/displays disponibles.
Tamaño físico de la pantalla
Qt necesita información sobre las dimensiones físicas de la pantalla conectada para determinar los valores DPI y así establecer los tamaños de fuente correctos. Normalmente, esta información es proporcionada por la Pantalla. En algunos casos puede aparecer un tamaño de pantalla inválido como 0mmx0mm. En tal caso Qt requiere una variable de entorno QQNX_PHYSICAL_SCREEN_SIZE establecida en los valores correspondientes para obtener la información requerida. Si las aplicaciones Qt salen con un mensaje de error diciendo que no se ha podido determinar el tamaño físico de la pantalla, establece la variable así antes de iniciar la aplicación Qt:
export QQNX_PHYSICAL_SCREEN_SIZE=150,100
para informar a Qt que la pantalla tiene una anchura de 150mm y una altura de 100mm en este caso particular. El tamaño físico de la pantalla se mide en milímetros (mm) y debe corresponder al tamaño físico real de la pantalla en la configuración final.
Resolución de problemas en el primer inicio de una aplicación Qt
El único inconveniente de la flexibilidad proporcionada por QNX Neutrino RTOS es el riesgo de que el entorno de ejecución sea ligeramente diferente en su objetivo de lo esperado por Qt. Esta es una razón común por la que una aplicación Qt en un nuevo objetivo falla al iniciarse. Unas pocas variables de entorno genéricas pueden ayudar a localizar la causa raíz de los problemas:
- Establecer
QT_DEBUG_PLUGINSa1ayuda a ver por qué el plugin QPA no se puede cargar. - Establecer
LD_DEBUGa1ayuda a ver dónde y cómo se cargan las bibliotecas compartidas. Esto puede ser usado en combinación conQT_DEBUG_PLUGINScuando un plugin falla al cargar porque no puede cargar otras bibliotecas compartidas. - Establecer
QT_LOGGING_TO_CONSOLEforzará el envío de todos los mensajes de registro astderren lugar deslog2. Esto es útil para analizar problemas de arranque de la aplicación, ya que no es necesario utilizar otra herramienta para ver los mensajes.
Qt normalmente utiliza fontconfig para proporcionar acceso a systemfonts. Si no se ha creado antes una caché de fuentes, se creará al iniciar la primera aplicación Qt. Dependiendo de la configuración, puede llevar mucho tiempo y retrasar significativamente el arranque de las aplicaciones. Si no se necesita, fontconfig puede desactivarse con -DFEATURE_fontconfig=OFF en el momento de la configuración.
Uso de QCursor en la plataforma QNX
QNX soporta cambiar la forma del cursor para una ventana, pero necesitará desplegar y especificar las imágenes asociadas con las formas que desea utilizar a través del archivo de configuración de Pantalla, graphics.conf. Consulte el parámetro cursor-type de la subsección Configurar pantalla para obtener más detalles. Además del cursor predeterminado, QNX no proporciona cursores adicionales. Por lo tanto, cualquier gráfico de cursor adicional debe proporcionarse manualmente en formato de mapa de bits. La siguiente tabla muestra el nombre del cursor utilizado en graphics.conf para cada valor de Qt::CursorShape.
| Qt::CursorShape valor | Nombre de configuración de pantalla de QNX |
|---|---|
| Qt::ArrowCursor | flecha |
| Qt::CrossCursor | cruz |
| Qt::WaitCursor | espera |
| Qt::IBeamCursor | ibeam |
| Qt::PointingHandCursor | mano |
| Qt::OpenHandCursor | agarrar |
| Qt::ClosedHandCursor | agarrar |
| Qt::DragMoveCursor | mover |
| Todas las demás formas de cursor | flecha (por defecto) |
© 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.