Novedades de Qt 6.5
Módulos nuevos y restaurados en Qt 6.5
Qt 6.5 añade los siguientes módulos y herramientas:
- Qt Quick Effect Maker - Una herramienta para crear efectos de sombreado de alto rendimiento para Qt Quick.
- Qt Quick Effects - Un módulo que contiene MultiEffect, para aplicar uno o más efectos gráficos simples en un Qt Quick Item .
- Qt Quick 3D Physics - Un motor de física para su uso con Qt Quick 3D. Este módulo ya no está en previsualización tecnológica.
- Qt Qml Core - Un módulo que expone varias Qt Core API a QML.
Módulos nuevos y restaurados en Technology Preview
Nota: No se garantiza la estabilidad de la API y la ABI.
- Qt Location's Map renderiza mapas 2D en una aplicación Qt Quick. MapView incluye Qt Quick Input Handlers para implementar las características interactivas típicas (zoom, pan, tilt).
- Qt GRPC admite la comunicación con servicios gRPC mediante clases generadas a partir de descripciones de servicios de protobuf .proto-specifications.
- Qt Protobuf soporta la generación, serialización y deserialización de clases basadas en Qt a partir de protobuf .proto-specifications.
Nuevas características en Qt 6.5
Qt Core Módulo
- QTimeZone puede ahora empaquetar un Qt::TimeSpec y, cuando sea relevante, un offset en una representación temporal ligera que unifica las diversas APIs de QDateTime y QDate que tomaban un QTimeZone o un Qt::TimeSpec y offset.
- Se ha introducido una API de permisos de aplicación que permite a las aplicaciones comprobar o solicitar permisos para funciones que requieren el consentimiento del usuario antes de su uso.
- Nuevo backend de rastreo multiplataforma en formato de rastreo común (CTF).
- QBindable ahora puede construirse a partir de cualquier propiedad con una señal NOTIFY. Esto permite integrar propiedades existentes no vinculables con propiedades vinculables.
- La función CMake qt_generate_deploy_app_script ahora acepta preferentemente un argumento llamado OUTPUT_SCRIPT. Pasar el antiguo FILENAME_VARIABLE está obsoleto.
Qt GUI Módulo
- Reintroducidas las clases QWindowsMimeConverter y QUtiMimeConverter para manejar datos de arrastrar y soltar y del portapapeles en formatos específicos de plataforma en Windows, macOS e iOS.
- QVulkanInstance ahora habilita los dispositivos físicos Vulkan Portability por defecto. Esto es necesario para ser operativo con las nuevas versiones de MoltenVK en plataformas Apple. Se ha añadido una bandera NoPortabilityDrivers que le permite optar por esto.
- La infraestructura de renderizado Vulkan utiliza ahora VK_EXT_debug_utils en lugar de los obsoletos VK_EXT_debug_report y VK_EXT_debug_marker.
- QTextLayout::glyphRuns() puede devolver ahora el índice de cadena correspondiente a cada glifo cuando se solicite. Disponible a través de la nueva función QGlyphRun::stringIndexes().
- Los elementos de la lista de casillas de verificación ahora pueden leerse y escribirse tanto en HTML como en Markdown, incluidas las conversiones.
- Se ha añadido QGuiApplication::setBadgeNumber() para proporcionar información al usuario sobre el número de mensajes no leídos o similares. La insignia se superpondrá al icono de la aplicación en el Dock en macOS, el icono de la pantalla de inicio en iOS o la barra de tareas en Windows.
Qt Quick Módulo
- TableView soporte para editar celdas usando un delegado de edición.
- TableView soporte para redimensionar filas y columnas usando el ratón.
- TableView soporte para ajustar el tamaño de filas y columnas explícitamente.
- TableView tiene una nueva señal
layoutChanged(). Esta señal puede usarse, por ejemplo, para reposicionar elementos superpuestos. - TableView Soporte para realizar selecciones múltiples.
- Se ha añadido soporte para especificar por separado los factores de mezcla RGB y alfa en QSGMaterial.
- El Qt Quick scenegraph ahora utiliza automáticamente el almacenamiento en caché persistente, basado en disco, de los conductos gráficos o el bytecode de shader de formato intermedio, dependiendo de la plataforma y la API de gráficos 3D en uso. Se espera que esto reduzca el tiempo empleado en la creación del pipeline gráfico en posteriores ejecuciones de la aplicación. Además, QQuickGraphicsConfiguration proporciona un control explícito sobre si estos datos se escriben y se cargan y desde dónde. Esto permite casos de uso avanzados, como el envío de un archivo de caché preconfigurado con una aplicación o dispositivo, lo que también acelera el arranque por primera vez.
- PinchHandler tiene nuevas propiedades agrupadas scaleAxis y rotationAxis, que ofrecen varios valores nuevos, incluida la propiedad
activeValueque es nueva en todos los grupos de ejes manejadores. También tiene las propiedades activeTranslation y persistentTranslation que ya tenía DragHandler. - DragHandler's
xAxisyyAxistienen nuevas propiedades activeValue. - PinchHandler's activeScale (que antes se llamaba
scale) ya no está restringido al rango entre minimumScale y maximumScale: estos límites sólo se aplican a persistentScale. Del mismo modo, activeRotation (antesrotation) ya no se limita al intervalo entre minimumRotation y maximumRotation. Estos límites se aplican del mismo modo a los gestos de pellizco nativos del touchpad que a los de las pantallas táctiles. - TapHandler::exclusiveSignals ahora permite hacer que las señales singleTapped y doubleTapped sean exclusivas.
El módulo de animación de Qt Labs
- BoundaryRule dispone ahora de una señal returnedToBounds.
Qt Quick Controls Módulo
- TreeViewDelegate tiene soporte para editar nodos de árbol
- El estilo Material fue actualizado a Material 3.
- Varios controles recibieron actualizaciones visuales, por lo que se recomienda comprobar el aspecto de su aplicación y adaptarla en consecuencia:
- Se agregó una nueva API:
- Material.containerStyle controla el estilo del contenedor utilizado por el control de destino. Puede adjuntarse a cualquier ventana o elemento, pero sólo TextField y TextArea lo soportan por defecto.
- Material.roundedScale controla el radio de las esquinas redondeadas utilizadas en el control de destino. Puede adjuntarse a cualquier ventana o elemento, pero sólo los siguientes controles lo soportan por defecto:
- Se ha terminado el estilo iOS
- Los nuevos controles que se implementaron para el estilo iOS para 6.5 son:
Qt Test Módulo
- Se ha añadido QTest::currentTestResolved() que devuelve true si la prueba ha fallado o se ha omitido. Esto puede reemplazar QTest::currentTestFailed() como la condición para probar a la vuelta de una función de ayuda.
- QTest::mouseRelease() y mouseClick() se pueden utilizar ahora para comprobar los clics dobles, especificando un retardo realista, en caso de que necesite comprobar el estado intermedio entre los eventos. mouseDClick Por lo demás, () sigue siendo más práctico.
Qt Widgets El módulo
- QKeySequenceEdit tiene dos nuevas propiedades: maximumSequenceLength permite a las aplicaciones controlar la longitud de una secuencia de teclas. finishingKeyCombinations define las combinaciones de teclas que finalizan la grabación.
- Añadido soporte de renderizado estereoscópico a QOpenGLWidget, aplicable también a cualquier QGraphicsView respaldado por un viewport QOpenGLWidget. A diferencia de QOpenGLWindow, o el ahora eliminado QGLWidget en Qt 5 y 4, QOpenGLWidget necesita soporte explícito para esto con APIs de soporte en su lugar, porque las aplicaciones no renderizan directamente a la ventana nativa en este caso, y por lo tanto no tienen el mismo control sobre los buffers de dibujo activos como tienen con QOpenGLWindow.
Qt Positioning Módulo
- Introducido SatelliteSource - una API QML para QGeoSatelliteInfoSource.
Qt Serial Bus Módulo
- Introducidas las clases QCanSignalDescription, QCanMessageDescription y QCanUniqueIdDescription. Estas clases se utilizan para proporcionar un conjunto de reglas para codificar o descodificar mensajes de bus CAN.
- Se ha introducido la clase QCanFrameProcessor. Esta clase puede utilizarse para descodificar el QCanBusFrame recibido en un mapa de pares clave-valor y componer un QCanBusFrame a partir de un mapa de pares clave-valor.
- Se ha introducido la clase QCanDbcFileParser. Esta clase se utiliza para analizar archivos DBC y generar descripciones de mensajes, que pueden utilizarse posteriormente en QCanFrameProcessor.
Todas las clases nuevas son experimentales y están sujetas a cambios.
Qt Network Módulo
- Se ha introducido QHttp1Configuration. La clase se puede utilizar para configurar el número máximo de conexiones utilizadas por host cuando se utiliza HTTP 1 (por defecto: 6).
- QNetworkRequest en Qt para WebAssembly ganó el atributo UseCredentialsAttribute, habilitando withCredentials para el XMLHttpRequest subyacente.
Módulo Qt Qml
- Añadida API a QQmlApplicationEngine y QQmlComponent para cargar/crear elementos QML a través de su URI de módulo y nombre de tipo. A diferencia de las funciones basadas en URL, esto también funciona con tipos C++ y componentes inline.
- QQmlListProperty Las propiedades ahora se comportan más como arrays, ganando soporte para métodos como map(), reduce() y forEach(). Lo mismo ocurre con otros tipos de secuencia, como QList<int> y similares.
- Extendido el qmltc para soportar más construcciones qml, notablemente enlaces de traducción, componentes en línea, singletons, y manejadores de señales para señales definidas por C++.
- Se ha introducido
pragma FunctionSignatureBehaviorpara controlar la aplicación de anotaciones de tipo en funciones JavaScript. Anteriormente, las anotaciones de tipo eran sólo sugerencias; este pragma las hace obligatorias para mejorar la seguridad de tipos. - El compilador de scripts QML puede manejar construcciones adicionales. En concreto
- console.log() y sus amigos
letyconst- qsTr() y amigos
- arg() para cadenas
- todos los demás operadores bit a bit y de desplazamiento
- el operador de exponenciación
- La caché de disco QML puede controlarse de forma más precisa mediante la nueva variable de entorno
QML_DISK_CACHE. - Se ha añadido una nueva API CMake pública:
- Introducida una política Qt CMake para establecer un mejor valor por defecto para el prefijo del recurso. Si la política QTP0001 se establece en
NEW, el motor QML siempre será capaz de encontrar sus módulos QML en el sistema de archivos de recursos.
- Introducida una política Qt CMake para establecer un mejor valor por defecto para el prefijo del recurso. Si la política QTP0001 se establece en
- La función CMake qt_generate_deploy_qml_app_script ahora acepta preferentemente un argumento llamado OUTPUT_SCRIPT. Pasar el antiguo FILENAME_VARIABLE está obsoleto.
- Introducido
pragma NativeMethodBehavior: AcceptThisObjectpara controlar cómo los métodos nativos manejan el objetothiscuando son llamados desde QML.
Qt Quick Módulo 3D
- Añadido soporte automático de nivel de detalle (LOD) para modelos. Esto permite generar versiones simplificadas de las mallas durante la importación de activos y, a continuación, elegir automáticamente el nivel adecuado al renderizar.
- Se ha añadido soporte explícito de nivel de detalle (LOD) para controlar la opacidad de los modelos en función de la distancia de la cámara.
- Añadido ExtendedSceneEnvironment, con efectos incorporados para profundidad de campo, gradación de color, resplandor, viñeta, destello de lente y otros. Estos efectos se ejecutan conjuntamente, lo que aumenta la eficacia en comparación con los efectos de postprocesamiento independientes, cada uno de los cuales requiere una o más pasadas de renderizado.
- Se ha mejorado DebugView con estadísticas de renderizado, la lista de mallas y texturas activas e información sobre los pases de renderizado en tiempo real, así como controles para cambiar interactivamente los ajustes, como el modo wireframe y las modificaciones de materiales desde DebugSettings.
- Se ha añadido DebugSettings, disponible a través de SceneEnvironment, que permite el control programático de ajustes como el modo wireframe y la anulación de materiales para renderizar sólo determinados aspectos de materiales basados físicamente.
- Añadido InfiniteGrid, que implementa una rejilla infinita en el plano horizontal con desvanecimiento.
- Se ha añadido un sencillo soporte de niebla integrado, disponible a través de SceneEnvironment. Cuando se activa, se aplica un efecto de niebla de profundidad o altura al renderizar los modelos de la escena.
- Se ha mejorado la selección cuando se utiliza el renderizado en instancias.
- Añadido soporte de color de vértice para PrincipledMaterial y SpecularGlossyMaterial
- Sonda de reflexión: se ha añadido soporte para utilizar una textura cubemap proporcionada en lugar de renderizar la escena.
- Se han mejorado los efectos de posprocesamiento para que reaccionen correctamente a los cambios en los URI de los archivos de origen de los sombreadores en tiempo de ejecución.
- Se ha añadido un almacenamiento en caché persistente basado en disco de los datos de sombreado de materiales generados en tiempo de ejecución. Se espera que esto mejore los tiempos de inicio de la aplicación y de cambio de vista.
Qt WebView Módulo
- Añadido WebViewSettings para configurar algunas de las funciones comunes de WebView.
Qt Multimedia Módulo
- El backend multimedia ffmpeg, al ser un avance tecnológico en 6.4, pasa a ser el predeterminado para macOS, Windows, Android y Linux, excepto para la distribución Yocto. Los backends nativos siguen disponibles con soporte limitado.
- Introducida la clase QScreenCapture que es un nuevo tipo de entrada de vídeo. Es posible dirigir vídeo desde QScreenCapture a través de QMediaCaptureSession a salidas, por ejemplo QMediaRecorder o QVideoWidget. La funcionalidad de captura de pantalla sólo está disponible con el backend multimedia ffmpeg.
Cambios en la plataforma
WebAssembly
- Añadido paquete binario con multihilo habilitado a Qt Online Installer.
- Se ha añadido compatibilidad con la API de acceso al sistema de archivos. Las llamadas a diálogos de archivos como QFileDialog::getOpenFileContent() y QFileDialog::saveFileContent() utilizarán ahora esta API, si el navegador la admite.
- Se ha añadido compatibilidad con la API de acceso a fuentes locales. Qt utilizará ahora fuentes locales en los navegadores que soporten esta API.
- Añadida previsualización técnica de reproducción de vídeo y soporte de cámara a Qt Multimedia.
- Añadida opción de configuración para WebAssembly SIMD: -feature-wasm-simd128
- Se ha añadido una opción de configuración para las excepciones de WebAssembly: -feature-wasm-exceptions
- Publicado Qt Web Utils con funciones de utilidad y Qt en la web ejemplos de uso.
- QTest para WebAssembly ahora utiliza emrun por defecto. Un script especializado para WebAssembly impulsa la ejecución de pruebas automáticas.
Plataformas de escritorio
Windows
- La variable de entorno QT_WIN_DEBUG_CONSOLE puede establecerse para ver mensajes stdout/stderr en una ventana de consola para aplicaciones GUI que se inician desde la línea de comandos. Establézcala en
newoattach.
macOS
- Añadido backend nativo para QMessageBox y QErrorMessage.
Cliente Wayland en Linux
- Ahora es compatible con el protocolo fractional_scale_v1 para compositores que sugieren factores de escala fraccionales para el cliente.
Plataformas móviles
Android
- Actualizado Gradle a 8.0 y el Android Gradle Plugin (AGP) a 7.4.1 (requiere JDK 11 o superior).
- Actualizado NDK a r25b (25.1.8937393).
- La lista de versiones soportadas es ahora Android 8.0 (API 26) o posterior.
- Bump la plataforma mínima construir sdk versión a 33 (QT_ANDROID_API_VERSION).
- Soporta más operaciones sobre URIs de esquemas de contenido con facilidades Qt file/dir.
- Correcciones y actualizaciones de documentación para QStandardPaths bajo Android Scoped Storage.
- Imprimir Qt JNI excepciones de Qt y no el sistema Android.
- Corregido soporte para APK Signature Scheme v2.
iOS
- Añadida implementación nativa para QColorDialog y QFontDialog.
Plataformas embebidas
Boot to Qt
- Boot to Qt Se actualizó la pila para usar yocto 4.1.2 (langdale).
- Soporte para macOS host usando toolchains basadas en Docker.
- Se actualizaron los Niveles de Soporte para Hardware de Destino y ahora hay múltiples niveles de soporte que se aplican a través de combinaciones específicas de hardware y SO.
Lista de cambios en la API
Estas páginas contienen una visión general de los cambios de la API en Qt 6.5:
© 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.