La empresa Qt Company ha publicado el lanzamiento del marco Qt 6.10, en el que se ha continuado con el trabajo de estabilización y aumento de la funcionalidad de la rama Qt 6. En Qt 6.10 se proporciona soporte para las plataformas Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6, SUSE 15 SP6, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS y QNX. Los códigos fuente de los componentes de Qt se distribuyen bajo las licencias LGPLv3 y GPLv2. Qt 6.10 ha obtenido el estatus de lanzamiento intermedio, con soporte público que se ofrecerá durante 6 meses (+ otros 6 meses para usuarios comerciales).
Principales cambios en Qt 6.10:
- Se ha añadido el tipo QML FlexboxLayout para el diseño adaptable de los elementos de la interfaz de usuario de acuerdo con el concepto Flexbox, que se utiliza en CSS para facilitar la alineación vertical de los elementos. La implementación admite conceptos ya utilizados en Qt Quick, como la fijación de propiedades para ajustar el comportamiento de elementos individuales dentro del diseño.
- En los módulos Qt Quick Scene Graph y Qt Quick Shapes se han implementado capacidades para trabajar con gráficos vectoriales animados, generados a partir de imágenes en formatos SVG y Lottie. En el módulo Qt Lottie, se ha ampliado el soporte para archivos en formato Lottie. Se ha añadido la posibilidad de usar el formato Lottie en el tipo VectorImage para mostrar archivos Lottie con escalado y aceleración por hardware.
- El conjunto Qt Quick Control incluye un nuevo elemento SearchField con una implementación de campo de entrada especializado para utilizar con la funcionalidad de búsqueda, que permite mostrar datos relevantes en una ventana emergente, filtrados según el texto ya introducido en el campo. El elemento admite varios estilos integrados de Qt y permite lograr un diseño nativo en todas las principales plataformas.
- Se han añadido clases para facilitar la integración de modelos de datos C++ con QML y Qt Quick:
- QRangeModel es un envoltorio sobre QAbstractItemModel para uso directo en elementos de interfaz basados en QML y Qt Quick de cualquier tipo enumerado de C++, incluyendo std::vector, std::tuples y std::array. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- En el tipo QML DelegateModel se ha añadido la propiedad delegateModelAccess, que puede aceptar el valor DelegateModel.ReadWrite para permitir la escritura en el modelo a través de propiedades del contexto, el objeto del modelo o propiedades obligatorias.
- Se ha añadido el tipo QML Synchronizer, que resuelve la tarea de sincronizar el estado de un control con el valor del modelo. Synchronizer garantiza que varias propiedades contengan el mismo valor; el cambio de una de las propiedades sincronizadas provoca automáticamente el cambio de todas las demás.
- Se ha añadido el tipo QML TreeModel, que permite colocar estructuras arbóreas de C++ directamente en el documento QML, utilizando pares clave-valor y una sintaxis de diccionarios y matrices similar a JSON.
- Se ha añadido el tipo QML SortFilterProxyModel, que permite clasificar y filtrar datos directamente desde QML, sin necesidad de utilizar código en C++.
- En Qt Quick 3D se han ampliado las posibilidades para crear mapas de iluminación al renderizar en alta calidad y se ha añadido soporte para la aplicación inversa de efectos con partículas para crear el efecto de colisión de lluvia o nieve con el modelo.
- En Qt Graphs se ha añadido un tipo de superficie con relleno y se ha implementado la posibilidad de transformar un corte de gráficos tridimensionales en una imagen 2D para impresión.
- En Qt Widgets se ha simplificado la implementación de objetos delegate personalizados, se ha mejorado la gestión de las operaciones de drag & drop y se ha añadido la posibilidad de personalizar individualmente el tamaño de los diseños.
- En Qt Core se ha mejorado el trabajo con locales, documentos XML y secuencias de operaciones asíncronas (cadena de continuación).
- Se han ampliado los recursos para personas con discapacidad. Los estilos integrados de presentación de contraste de información se han adaptado para utilizar las configuraciones de contraste del sistema, de modo que las aplicaciones Qt se correspondan visualmente con el estilo general. Los controles y widgets de Qt se han mejorado para su uso con lectores de pantalla.
- Se ha añadido soporte para las plataformas móviles Android 15 y 16, incluyendo la posibilidad de funcionar en dispositivos que utilizan páginas de memoria de 16 KB.
- Se ha presentado la herramienta Qt Jenny 1.0, que simplifica la integración de aplicaciones Qt con la API de Java de Android y soporta la generación automática de API en C++ a partir de clases Java anotadas, lo que permite acceder directamente desde el código Qt a servicios de Android como BatteryManager, PowerManager y AudioManager.
- Se han añadido capacidades para la correcta salida de pantallas de inicio en la plataforma Android.
- Se brinda soporte completo para las plataformas macOS 26 y iOS 26, que utilizan el lenguaje visual Liquid Glass y se ha modificado la arquitectura de renderizado.
- En el módulo Qt WebView para la plataforma Windows se ha añadido la capacidad de incrustar contenido web en aplicaciones Qt utilizando el motor WebView2 basado en Microsoft Edge en lugar del motor WebEngine basado en Chromium.
- Se ha añadido un backend en el módulo Qt Multimedia para el uso de multimedia servidores PipeWire en la plataforma Linux.
- Se ha actualizado el stack Boot2Qt, que puede utilizarse para crear sistemas móviles de arranque con un entorno basado en Qt y QML. El entorno del sistema en Boot2Qt se ha actualizado a la plataforma Yocto 5.2. Se ha añadido soporte para las placas Ezurio Nitrogen.
Fuente: opennet.ru
