La versión Qt 6.10 llega cargada de mejoras para accesibilidad, diseño de interfaces, vinculación de datos y compatibilidad de plataformas, beneficiando tanto a quienes trabajan con QML/Qt Quick como a quienes siguen con C++/Qt Widgets.
Es una entrega que acelera el día a día: layouts tipo flexbox, animación vectorial (SVG/Lottie), SearchField listo para usar y APIs pensadas para conectar datos de C++ con QML sin “pegamento” extra.
Palabras clave: accesibilidad, alto contraste, FlexboxLayout, Lottie/SVG, SearchField, QRangeModel, Synchronizer, TreeModel, Sort/Filter en QML, Android 15/16, iOS/macOS 26, WebView2, PipeWire.
Antecedentes
Desde Qt 6, el proyecto ha empujado un ciclo de modernización: motor gráfico (Scene Graph), Qt Quick 3D, refuerzos en SVG, mejoras de multimedia y soporte continuo para plataformas móviles y embebidas. Qt 6.10 consolida esa línea con más productividad y mejor integración con entornos actuales (Android, iOS/macOS, Windows, Linux/Wayland).
Accesibilidad y alto contraste: cumplimiento “by default”
- Los estilos integrados de Qt ahora respetan automáticamente los ajustes de alto contraste del sistema (escritorio y móvil).
- Se mejora cómo widgets y controles Qt Quick se exponen a tecnologías asistivas (lectores de pantalla), con avances notables en WebAssembly.
- Varias correcciones llegarán también a ramas LTS en futuras actualizaciones.
Claves: a11y, alto contraste, lectores de pantalla, WebAssembly.
UI más ágil en Qt Quick
FlexboxLayout (Tech Preview)
- Nuevo layout tipo Flexbox (inspirado en CSS) integrado con el sistema de layouts de Qt Quick, ideal para interfaces responsivas que se adaptan a tamaños, idiomas y tipografías variables.
Animación vectorial (SVG y Lottie)
- Soporte de animaciones vectoriales en SVG y Lottie.
- Qt Lottie amplía formatos modernos; VectorImage renderiza Lottie como vector acelerado por GPU.
- Nueva herramienta lottietoqml para convertir Lottie a escenas QML (complementa a svgtoqml).
Nuevo control: SearchField
- Campo de búsqueda con estilos nativos, sugerencias y modelos QML.
- Encaja con las mejoras de intercambio de datos C++ ↔ QML para reducir plantillas y código repetitivo.
Claves: FlexboxLayout, Lottie, SVG, VectorImage, SearchField.
Datos mejor integrados en QML (menos fricción)
QRangeModel
- Implementación ligera de QAbstractItemModel para exponer rangos C++ (p. ej., std::vector) a vistas Widgets y QML.
- Soporta tipos simples y complejos (Q_GADGET, std::tuple), generando roles automáticamente.
delegateModelAccess (ReadWrite)
- Permite escritura directa desde el delegado QML (con required properties) sin trucos de contexto ni manejo manual del model.
Synchronizer (Tech Preview)
- Nuevo elemento que sincroniza varias propiedades a un mismo valor sin romper bindings, para QML y C++.
TreeModel en QML
- Define árboles directamente en QML (sintaxis tipo JSON) para prototipos rápidos y datasets pequeños; úsalo con TreeView sin infraestructura extra.
Sort/Filter en QML
- Llega la versión declarativa de QSortFilterProxyModel: ordena/filtra con bindings reactivas (p. ej., RoleSorter, filtros invalidables).
Claves: QRangeModel, delegateModelAccess, Synchronizer, TreeModel, SortFilter en QML.
Plataformas al día
Android 15/16
- Soporte oficial y ajustes de build (incl. páginas de 16 KB).
- Qt Jenny 1.0: genera “pegamento” JNI desde clases Java anotadas (APIs C++ basadas en QJniObject), disponible vía Maven Central.
- Splash screens pulidos desde Android 12 (transición fluida con SplashActivity y temas translúcidos).
macOS/iOS 26
- Compatibilidad con macOS 26 “Tahoe” y su Liquid Glass; arreglos que se retroportan a LTS (6.8, 6.5).
Windows
- Qt WebView añade backend WebView2 (Edge): incrusta web sin arrastrar Qt WebEngine, reduciendo huella.
Linux y Multimedia
- Qt Multimedia incorpora backend nativo PipeWire: menor latencia y mejor control en contenedores; compensación de tono al cambiar velocidad.
Claves: Android 15/16, Qt Jenny, WebView2, PipeWire, macOS/iOS 26.
Mejoras en gráficos, core y ecosistema
- Qt Quick 3D: lightmaps “horneados”, partículas en reversa (lluvia/nieve que impacta modelos).
- Qt Graphs: superficies rellenas, multi-eje, z-order 2D personalizable y cortes 3D exportables.
- Qt Widgets: delegados más simples; drag & drop granular; layouts con restricciones por widget.
- Qt GUI (QRhi): enumeración de adaptadores (D3D11/12, Vulkan) para elegir GPU.
- Qt WebEngine: extensiones de Chromium (muy demandado por navegadores Qt-based).
- Wayland: gestión de sesión y notificaciones de reset gráfico (útil para compositores).
- Core/gRPC: mejoras de rendimiento en QGrpcHttp2Channel.
Claves: Qt Quick 3D, Qt Graphs, QRhi, Chromium extensions, Wayland.
Conclusión
Qt 6.10 es un salto práctico: accesibilidad integrada, UIs modernas (flexbox, Lottie/SVG, SearchField), datos C++↔QML con menos “pegamento”, y plataformas actualizadas (Android 15/16, iOS/macOS 26, WebView2, PipeWire). Si Qt forma parte de tu pila de producto, esta versión merece entrar en tu hoja de ruta.
Resumen de impacto:
- Productividad UI: Flexbox, animación vectorial, controles nuevos.
- Menos fricción de datos: QRangeModel, Synchronizer, TreeModel, Sort/Filter QML.
- Compatibilidad y rendimiento: Android/iOS/macOS/Windows/Linux, PipeWire, WebView2.
Fuente: somoslibres