La empresa Qt Company ha publicado el lanzamiento del marco Qt 6.1, en el cual se ha continuado el trabajo de estabilización y expansión de la funcionalidad de la rama Qt 6. En Qt 6.1 se soportan las plataformas Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ y Android (API 23+). Los códigos fuente de los componentes de Qt se entregan bajo las licencias LGPLv3 y GPLv2.
Las mejoras clave en Qt 6.1 están principalmente relacionadas con la inclusión de módulos que estaban disponibles en Qt 5.15, pero que no estaban listos para incluirse en el primer lanzamiento de Qt 6. En particular, se incluyen los siguientes módulos:
- Active Qt: soporte para controles COM y ActiveX en la plataforma Windows.
- Qt Charts: creación de gráficos.
- Qt Data Visualization: visualización de datos estáticos y dinámicos.
- Qt Device Utilities: parte del paquete Qt for Device Creation.
- Qt Graphical Effect: capa para simplificar la portabilidad de aplicaciones a Qt 6.
- Qt Lottie: renderiza gráficos y animaciones exportadas en formato JSON mediante el plugin Bodymovin para Adobe After Effects. Incluye un micro motor integrado para la ejecución de animaciones, recortes, procesamiento de capas y otros efectos.
- Qt State Machine: marco para la creación de estructuras orientadas a eventos y la implementación de autómatas finitos basados en SCXML.
- Qt Virtual Keyboard: implementación de un teclado virtual.
Módulos que aún no se han trasladado y se esperan en el lanzamiento LTS de Qt 6.2, programado para septiembre.
- Qt Bluetooth
- Qt Multimedia
- Qt NFC
- Qt Positioning
- Qt Quick Dialogs: Carpeta, Cuadro de Mensaje
- Qt Remote Objects
- Qt Sensors
- Qt SerialBus
- Qt SerialPort
- Qt WebChannel
- Qt WebEngine
- Qt WebSockets
- Qt WebView
Cambios en Qt 6.1:
- En Qt Core se ha trabajado para mejorar la usabilidad y simplificar la API. Se han añadido los métodos removeIf() y se ha ampliado el número de clases que soportan el método erase_if(). Se han implementado métodos disponibles en QString, pero ausentes en QStringView. Se han añadido funciones protegidas contra desbordamientos para la suma, resta y multiplicación. Se ha mejorado el soporte para valores de punto flotante de 16 bits. Se ha actualizado la API para la vinculación de propiedades (property binding), que se introdujo en Qt 6.0. Se han añadido nuevas clases para facilitar la integración con Java, QJniEnvironment y QJniObject, comúnmente requeridas en la plataforma Android.
- En Qt Gui se ha mejorado el soporte para la API gráfica Vulkan 1.1 y 1.2. Se ha añadido una nueva clase QUrlResourceProvider, que se utiliza en QLabel y permite prescindir de la reimplementación de loadResource() y de la creación de subclases de QTextDocument. Se ha implementado la posibilidad de aplicar funciones de corrección de componentes de espacios de color especificadas por el usuario en la clase QColorSpace.
- En Qt Network se ha propuesto la clase QNetworkInformation, que permite determinar el estado de la red en el sistema. Se ha añadido soporte para el modo SameSite en el manejador de cookies HTTP.
- En Qt Qml se han implementado las opciones QJSPrimitiveValue y QJSManagedValue para un control más fino sobre la ejecución de JavaScript.
- En Qt Quick 3D se ha añadido soporte para la morfología de animaciones de destino y se ha implementado soporte experimental para el renderizado instanciado, que permite renderizar múltiples copias de objetos similares en un solo pase, situados en las partes periféricas de la escena. Este método acelera significativamente el renderizado cuando hay un gran número de objetos similares en la escena. Sobre la base de este método, se ha implementado el soporte para el renderizado de partículas tridimensionales.
Fuente: opennet.ru
