En esta página

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:

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 activeValue que es nueva en todos los grupos de ejes manejadores. También tiene las propiedades activeTranslation y persistentTranslation que ya tenía DragHandler.
  • DragHandler's xAxis y yAxis tienen 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 (antes rotation) 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

Qt Quick Controls Módulo

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

Qt Serial Bus Módulo

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 FunctionSignatureBehavior para 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
    • let y const
    • 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.
  • 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: AcceptThisObject para controlar cómo los métodos nativos manejan el objeto this cuando 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

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 new o attach.

macOS

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

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.