A Qt Company publicou o lançamento do framework Qt 6.4, que dá continuidade ao trabalho de estabilização e expansão das funcionalidades da linha Qt 6. O Qt 6.4 oferece suporte para as plataformas Windows 10+, macOS 10.15+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 14+, Android 6+ (API 23+), webOS, WebAssembly, INTEGRITY e QNX. Os códigos fonte dos componentes Qt são fornecidos sob as licenças LGPLv3 e GPLv2.
Principais mudanças no Qt 6.4:
- Implementado suporte completo para a plataforma WebAssembly, permitindo a criação de aplicativos Qt que funcionam em navegadores web e são portáveis entre diferentes plataformas de hardware. Aplicativos compilados para a plataforma WebAssembly, graças à compilação JIT, têm desempenho próximo ao de código nativo, podendo usar Qt Quick, Qt Quick 3D e as ferramentas de visualização disponíveis no Qt. Como um aplicativo baseado em WebAssembly é executado em um ambiente isolado do navegador, o acesso a algumas APIs para trabalhar com recursos locais e serviços do sistema operacional é restrito, mas APIs adicionais são fornecidas para integração com o navegador.
- O módulo Qt TextToSpeech, que foi incluído no Qt 5, foi retornado ao núcleo, mas não fez parte da linha Qt 6. O módulo fornece recursos para síntese de fala, que podem ser aplicados para aumentar a acessibilidade dos aplicativos para pessoas com deficiência ou para implementar novas ferramentas de informação em segundo plano para o usuário, como a exibição de notificações em aplicativos de sistemas de infoentretenimento automotivos. No Linux, a conversão de texto em fala é realizada com a biblioteca Speech Dispatcher (libspeechd), enquanto em outras plataformas, através da API padrão do sistema operacional.
- Adicionado um módulo experimental com implementação de estilo iOS para Qt Quick. Aplicativos baseados em Qt Quick Controls podem usar automaticamente esse módulo para criar interfaces nativas na plataforma iOS, assim como a interface nativa é aplicada no Windows, macOS e Android.


- Adicionado um módulo experimental QtHttpServer, permitindo a integração em aplicativos da funcionalidade de servidor HTTP, que suporta HTTP/1.1, TLS/HTTPS, WebSockets, tratamento de erros, roteamento de solicitações com base em parâmetros na URL (QHttpServerRouter) e REST API.
- Foi adicionado um módulo experimental Qt Quick 3D Physics, que fornece uma API para simulação de processos físicos, que pode ser usado junto com Qt Quick 3D para a interação realista e movimentação de objetos em cenas 3D. A implementação é baseada no motor PhysX.
- O módulo Qt Quick 3D recebeu suporte experimental para iluminação global usando mapas de iluminação, permitindo simular de forma mais realista a luz de diferentes fontes na cena 3D. O Qt Quick 3D também implementou suporte para partículas lineares, materiais brilhantes, configurações avançadas de reflexão, skyboxes e materiais e texturas customizados.

- As capacidades dos tipos TableView e TreeView disponíveis no Qt Quick foram ampliadas, agora com suporte para navegação via teclado, seleção de linhas e colunas, controle mais completo da posição das células, animação, contração e expansão de estruturas hierárquicas.
- Foi proposto um novo tipo FrameAnimation no Qt Quick, permitindo a execução de código de forma síncrona com os quadros da animação. Para melhorar a fluidez da animação, o Qt Quick também garante o tratamento automático de sincronização incorreta de vsync durante a renderização multithreading.

- No widget QQuickWidget, que permite criar interfaces que combinam elementos baseados em Qt Quick e Qt Widget, foi implementado suporte completo para a camada RHI (Rendering Hardware Interface), que permite operação não apenas usando OpenGL, mas também sobre APIs Vulkan, Metal e Direct 3D.
- O módulo Qt Network adicionou a classe QSslServer, que permite criar redes eficazes servidores, utilizando TLS para estabelecer um canal de comunicação seguro.
- O módulo Qt Multimedia adicionou um backend experimental utilizando o pacote FFmpeg para processamento de vídeo e áudio. Durante a reprodução de vídeo, melhorou-se o tratamento de espaços de cor e HDR, além de permitir a substituição de legendas através de QVideoFrames. Foi adicionado suporte para áudio espacial, permitindo criar cenas com distribuição tridimensional do som e simular salas virtuais com características de reflexão sonora dependendo da localização do ouvinte, do tamanho do ambiente e dos materiais das paredes e do piso.
- No módulo Qt Widgets, a classe QFormLayout foi expandida com recursos para a construção de interfaces que capturam a entrada estruturada do usuário. Na classe QWizard, destinada à criação de interfaces em múltiplas etapas, foram adicionadas APIs para gerenciar a visibilidade das linhas em formulários e navegar para qualquer página do assistente.
- No QML, a suporte para tipos de valores foi aprimorada, facilitando a transmissão de dados estruturados de C++ para QML. Tipos semelhantes e listas desses tipos podem agora ser usados em propriedades sem a necessidade de encapsulamento baseado em QObject. As capacidades do servidor LSP para integrar suporte à linguagem QML em ambientes de desenvolvimento integrado foram ampliadas. O Compilador de Tipos QML, que permite compilar a representação QML em código em C++, agora vem habilitado por padrão.
- As funcionalidades para trabalhar com literais de string no código foram ampliadas — nas classes QStringEncoder e QStringDecoder, foi adicionada suporte a todos os codificadores disponíveis no ICU (International Components for Unicode).
- Na classe QTextDocuments, foi adicionada suporte à marcação Markdown.
Fonte: opennet.ru




