Versión do framework Qt 5.15

Presentado liberación dun marco multiplataforma Qt 5.15. O código fonte dos compoñentes Qt ofrécese baixo as licenzas LGPLv3 e GPLv2. En decembro publicarase unha nova rama de Qt 6, na que esperado importantes cambios arquitectónicos. Para suavizar a transición futura á rama Qt 6, Qt 5.15 inclúe implementacións de vista previa dalgunhas funcións novas e avisos engadidos sobre a inminente depreciación da funcionalidade programada para a súa eliminación en Qt 6.

Qt 5.15 está clasificado como versión de soporte a longo prazo (LTS). Ao mesmo tempo, para a comunidade actualiza a rama 5.15 serán publicados só ata que se forme a seguinte cuestión significativa, é dicir. uns seis meses. O ciclo LTS estendido, que implica a xeración de actualizacións durante un período de tres anos, limitarase aos usuarios cunha licenza comercial (5508 dólares ao ano por desenvolvedor para as empresas habituais e 499 dólares ao ano para as startups e pequenas empresas). A empresa Qt tamén considerado a posibilidade de cambiar ao modelo de distribución Qt, no que todas as versións dos primeiros 12 meses distribuiranse só aos usuarios de licenzas comerciais. Pero ata agora esta idea non foi máis alá da discusión.

O principal innovacións en Qt 5.15:

  • Continuouse o traballo na creación dunha API de gráficos abstractos que non depende da API 3D do sistema operativo. Un compoñente clave da nova pila de gráficos Qt é o motor de renderizado de escenas, que usa a capa RHI (Rendering Hardware Interface) para alimentar as aplicacións Qt Quick non só con OpenGL, senón tamén sobre as API Vulkan, Metal e Direct 3D. Na versión 5.15, a nova pila de gráficos ofrécese en forma dunha opción que ten o estado de "Vista previa da tecnoloxía".
  • Soporte completo do módulo proporcionado Qt Quick 3D, do que se eliminou o signo de desenvolvemento experimental. Qt Quick 3D ofrece unha API unificada para crear interfaces de usuario baseadas en Qt Quick que combinan elementos gráficos 2D e 3D. A nova API permítelle utilizar QML para definir elementos da interface 3D sen utilizar o formato UIP. En Qt Quick 3D, pode usar un tempo de execución (Qt Quick), un deseño de escena e un marco de animación para 2D e 3D, e usar Qt Design Studio para o desenvolvemento da interface visual. O módulo resolve problemas como grandes sobrecargas ao integrar QML con contido de Qt 3D ou 3D Studio, e ofrece a posibilidade de sincronizar animacións e transformacións a nivel de fotogramas entre 2D e 3D.

    As novas funcións engadidas a Qt Quick 3D inclúen soporte para efectos de post-procesamento, unha API de C++ para a manipulación da xeometría, unha API de rotación baseada na clase QQuaternion e soporte para luces puntuales. Para avaliar as distintas características de Qt Quick 3D preparado unha aplicación de demostración especial que mostra como pode cambiar os tipos e fontes de iluminación, usar modelos complexos, manipular texturas, materiais e anti-aliasing. Simultaneamente proposto liberación ambiente para deseñar a interface de usuario de Qt Design Studio 1.5, que ofrece soporte completo para Qt Quick 3D.


  • En Qt QML o traballo foi concentrado en preparación para Qt 6. Implementouse a capacidade de usar propiedades co atributo "required" en compoñentes, cuxa instalación é obrigatoria. A utilidade qmllint mellorou a xeración de avisos sobre posibles problemas no código QML. Engadiuse a utilidade qmlformat, que facilita o formato do código QML de acordo coas directrices de estilo de codificación. Compatibilidade garantida de QML coa edición Qt para microcontroladores.
  • En Qt Quick, engadiuse soporte para espazos de cor ao elemento Image. Engadiuse un novo elemento PathText a Qt Quick Shapes.
    Engadiuse unha propiedade cursorShape ao manejador do punteiro, a través da cal pode cambiar a forma do cursor do rato nos sistemas de escritorio. Engadiuse un elemento HeaderView para facer máis doado engadir cabeceiras verticais e horizontais ás táboas baseadas en TableView.

  • Mellorouse significativamente o soporte para a decoración de fiestras do lado do cliente (CSD), permitindo que unha aplicación defina as súas propias decoracións de ventás e coloque contido personalizado na barra de título da fiestra.
  • Módulo estabilizado Qt Lottie, que proporciona unha API QML avanzada que che permite renderizar gráficos e animacións exportadas en formato JSON mediante o complemento Bodymovin para Adobe After Effects. Grazas a QtLottie, un deseñador pode preparar efectos de animación nunha aplicación conveniente e un programador pode conectar directamente os ficheiros exportados á interface da aplicación en QtQuick. QtLottie inclúe un micromotor integrado para realizar animacións, recortes, capas e outros efectos. O motor é accesible a través do elemento LottieAnimation QML, que se pode controlar desde código QML do mesmo xeito que calquera outro elemento QtQuick.
  • O motor do navegador Qt WebEngine actualizouse á base de código Chromium 80 (na rama 5.14 utilizouse Chromium 77, a versión actual é Chromium 83).
  • O módulo Qt 3D mellorou as ferramentas de perfís e depuración.
  • Qt Multimedia engadiu soporte para renderizado en varias superficies.
  • Na GUI de Qt, as operacións de transformación e escalado de imaxes son agora multiproceso en moitos casos.
  • Qt Network engadiu soporte para tempo de espera personalizado e atallos de sesión en TLS 1.3 (Ticket de sesión, permítelle retomar unha sesión sen gardar o estado no lado do servidor).
  • Qt Core, QRunnable e QThreadPool habilitados para traballar coa función std::. Engadiuse un novo método QFile::moveToTrash() para mover elementos ao lixo, tendo en conta as características específicas das diferentes plataformas.
  • En Qt para Android engadido Soporte para diálogos nativos para abrir e gardar ficheiros.

Fonte: opennet.ru

Engadir un comentario