Lançamento do framework Qt 6.8

A Qt Company lançou a versão do framework Qt 6.8, que continua o trabalho de estabilização e aumento das funcionalidades da linha Qt 6. A Qt 6.8 oferece suporte para as plataformas Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS e QNX. Os códigos fonte dos componentes Qt são fornecidos sob as licenças LGPLv3 e GPLv2.

Qt 6.8 recebeu o status de versão LTS, para a qual atualizações serão oferecidas por cinco anos para os detentores da licença comercial, dois anos a mais do que nas versões LTS anteriores. Para usuários não comerciais, o período de suporte será de seis meses (até a formação de uma nova versão significativa). O suporte para a versão LTS anterior Qt 6.5 continuará até maio de 2026, e o suporte para a versão LTS anterior, Qt 6.2, foi encerrado em 30 de setembro de 2024. A linha Qt 5.15 será mantida até maio de 2025.

Mudanças principais no Qt 6.8:

  • O módulo Qt Graphs foi estabilizado e promovido para o status de totalmente suportado, destinado à criação de diversos tipos de gráficos 2D e 3D, além da visualização de grandes coleções de dados que mudam rapidamente. O módulo se desenvolve como uma substituição universal do antigo módulo Qt DataVisualization, que estava vinculado ao OpenGL, e do módulo Qt Charts. O novo módulo utiliza Qt Quick 3D e o motor de renderização RHI (Rendering Hardware Interface), que suporta várias APIs 3D (OpenGL, Vulkan, Metal e Direct 3D).

    Em comparação com a versão anterior, o Qt Graphs 3D adicionou otimizações de desempenho, garantindo suporte à transparência em gráficos tridimensionais (Bars3D), ampliou as funcionalidades de controle sobre a localização e design de rótulos e títulos, e aprimorou a renderização das linhas da grade de navegação. No Qt Graphs 2D, agora é possível desenhar tipos personalizados de gráficos de barras (através de componentes QML), além de suporte para gráficos de barras empilhadas, e aprimoradas as ferramentas de exibição de rótulos. A API foi unificada para a utilização de temas em gráficos 2D e 3D. Chamadas específicas para widgets foram transferidas para o módulo Qt Graphs Widgets.

  • O módulo QtHttpServer foi estabilizado e classificado como totalmente suportado, permitindo a integração de funcionalidades de servidor HTTP em aplicativos, suportando HTTP/1.1, TLS/HTTPS, WebSockets, tratamento de erros, roteamento de solicitações com base em parâmetros na URL (QHttpServerRouter) e REST API. Em comparação com a versão anterior, a classe QNetworkAccessManager agora permite o envio de solicitações HTTP através de um socket local. O suporte à classe QFormDataBuilder foi adicionado para simplificar a transmissão de vários conjuntos de dados (por exemplo, dados textuais e um arquivo anexado) em uma única solicitação HTTP (HTTP multi-part).
  • O módulo Qt GRPC foi estabilizado e classificado como totalmente suportado, permitindo a interação com serviços por meio do protocolo gRPC.
  • O módulo Qt Protobuf foi estabilizado e classificado como totalmente suportado, destinado à serialização de classes Qt, utilizando o protocolo Protocol Buffer.
  • Adicionada a compatibilidade com plataformas móveis Android 14 e iOS 18.
  • Possibilitada a разработка de aplicativos para sistemas desktop Linux e Windows com processadores ARM, além de headsets 3D Apple Vision Pro e Meta Quest 3 XR.
  • Adicionada a compatibilidade com Raspberry Pi 5, NVIDIA AGX Orin e algumas placas baseadas em SoC NXP, Toradex e STM. O suporte a placas RISC-V StarFive VisionFive 2 foi adicionado.
  • Expandidas as possibilidades para formar builds reduzidas do Qt, que podem ser usadas em dispositivos com memória limitada. Por exemplo, ao desativar recursos e componentes não utilizados do Qt, é possível reduzir o tamanho da build no armazenamento permanente em 77% e diminuir o consumo de RAM em 32%, além de reduzir significativamente o tempo de inicialização.
  • No módulo Qt Multimedia na plataforma Linux, foi implementado o suporte à captura de tela utilizando a classe QScreenCapture em ambientes baseados no protocolo Wayland, utilizando o serviço ScreenCast e o sistema de portais XDG Desktop. Foram adicionadas as classes QVideoFrameInput, QAbstractVideoBuffer e QAudioBufferInput, que permitem organizar o envio de dados multimídia personalizados para a sessão de gravação (QMediaCaptureSession), além da classe QAudioBufferOutput para conectar manipuladores que recebem dados de áudio na fase pós-decodificação.
  • Adicionado o módulo Qt Quick Vector Image, que permite integrar imagens vetoriais no formato SVG em cenas do Qt Quick, o que pode ser utilizado, por exemplo, para criar elementos de interface escaláveis, independentes da resolução e do tamanho da tela.
    Lançamento do framework Qt 6.8
  • Adicionado o módulo Qt Quick 3D XR para a criação de aplicativos para plataformas de realidade virtual e aumentada, utilizando as tecnologias do Qt Quick 3D. Para organizar a interação com ambientes tridimensionais criados com o Qt Quick 3D, o suporte ao uso de dispositivos de rastreamento de movimento das mãos e controles VR é oferecido. Para visualização, podem ser utilizados os óculos Apple VisionPro ou headsets 3D compatíveis com o padrão OpenXR, como Meta Quest 2/3.
    Lançamento do framework Qt 6.8
  • O Qt Quick recebeu otimizações que aceleram a renderização de cenas complexas. Na classe TableView, agora é possível rearranjar colunas e linhas. Nos tipos Image e BorderImage, foi implementado o suporte ao carregamento assíncrono de imagens (a imagem antiga permanece enquanto a nova é carregada).
  • No módulo Qt Quick Effect Maker, foi adicionado suporte para animação de sprites, distorção de elementos em um círculo, além do uso de efeitos de brilho e desfoque seletivo (masked blur).
  • No módulo Qt Quick Shapes, ao preencher contornos, agora é permitido o uso de qualquer provedor de texturas em elementos do tipo ShapePath. Na classe QQuickRenderTarget, novos métodos foram adicionados para gerenciar o processamento de texturas e facilitar a integração do Qt Quick 3D com motores externos, frameworks e APIs.
  • No Qt Quick Controls, foi proposto um novo estilo Fluent WinUI3, que permite criar uma interface semelhante ao Windows 11 em qualquer plataforma. No macOS, a possibilidade de usar o menu global fornecido pela plataforma nas interfaces criadas com o Quick MenuBar foi implementada.
    Lançamento do framework Qt 6.8
  • No Qt Quick 3D, a renderização de sombras foi aprimorada, utilizando mapas de sombras em cascata e filtragem suave de sombras. No tipo PrincipledMaterial, novas propriedades foram adicionadas. Foi oferecida a possibilidade de usar em materiais personalizados as mesmas propriedades que nos materiais baseados no tipo PrincipledMaterial.
    Lançamento do framework Qt 6.8
  • No módulo Qt Network Auth, foi adicionado a classe QOAuthUriSchemeReplyHandler para criar manipuladores de redirecionamento para outro esquema de URI durante a autenticação usando OAuth 2.0. Na classe QOAuth2AuthorizationCodeFlow, foi adicionado o suporte à extensão OAuth PKCE (Proof Key for Code Exchange).
  • A classe QDnsLookup agora permite enviar consultas usando "DNS over TLS", foi implementado o suporte a registros DNS TLSA (TLS Certificate Association) e o cliente é informado sobre a verificação dos dados pelo servidor DNS.
  • No Qt Core, foi adicionada a classe QChronoTimer com uma interface sobre a biblioteca std::chrono, permitindo aumentar a precisão nas operações com tempo. Foi implementada a capacidade de alterar o tamanho de QString, QByteArray e QList sem inicializar os dados. O QHash agora suporta o armazenamento de dados com tipos QString e QStringView em um único hash. O QDirListing fornece uma API baseada em iterador para percorrer o conteúdo dos diretórios.
  • No Qt GUI, agora é possível redefinir as configurações do esquema de cores do sistema, por exemplo, para escolher o modo escuro ou claro, assim como as configurações de ações que levam à invocação do menu de contexto.
  • Nos drivers de banco de dados Qt Sql para PostgreSQL e MySQL/MariaDB, agora o tratamento de horários e datas está correto mesmo quando o cliente e o servidor estão servidor em fusos horários diferentes.
  • No Qt WebEngine, foram adicionadas novas classes: QWebEngineFrame para trabalhar em nível de blocos iframe individuais; QWebEngineClientHints para gerenciar a identificação do navegador; QWebEnginePermission para gerenciar permissões de acesso vinculadas aos sites.
  • No Qt Widgets, a renderização de widgets em telas de alta densidade de pixels (high-DPI) foi aprimorada.
  • O gerador de documentação QDoc foi convertida de API C para API C++ e agora requer pelo menos Clang 17 para funcionar. Novos comandos, como "\keyword" e "\nativetype", foram adicionados.
  • Como parte do trabalho para aumentar a estabilidade e o desempenho da versão LTS, mais de 500 correções e otimizações foram feitas.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster