Após seis meses de desenvolvimento lançamento do framework multiplataforma . Os códigos-fonte dos componentes do Qt são fornecidos sob as licenças LGPLv3 e GPLv2, as ferramentas Qt para desenvolvedores, como Qt Creator e qmake, assim como alguns módulos, são fornecidos sob a licença GPLv3.
Principais :
- O suporte ao módulo 'Qt for WebAssembly' (anteriormente experimental) foi totalmente implementado, permitindo compilar aplicativos gráficos baseados em Qt como módulos WebAssembly que podem ser executados diretamente no navegador. O Emscripten é usado para a compilação. OpenGL é traduzido para WebGL;
- As capacidades do módulo Qt GUI foram ampliadas, que abrange classes relacionadas à integração com sistemas de janelas, manipulação de eventos, integração com OpenGL e OpenGL ES, gráficos 2D, manipulação de imagens, fontes e texto. Uma nova API foi adicionada nesta versão
QImage::convertTo para conversão de formatos de imagem. Novos métodos clear, reserve e capacity foram adicionados à classe QPainterPath; - No módulo Qt QML, que fornece ferramentas para desenvolvimento de interface usando a linguagem QML, a suporte a tipos enumerados definidos no código C++ foi melhorada. A manipulação de valores 'null' durante a compilação foi otimizada. A capacidade de gerar tabelas de funções em sistemas Windows de 64 bits foi adicionada, permitindo a execução de desempilhamento (unwind) para funções compiladas JIT;
- No Qt Quick, o objeto TableView agora permite ocultar colunas e linhas da tabela;
- No Qt Quick Controls 2 foi adicionado o tipo para o posicionamento horizontal ou vertical de elementos com um divisor móvel entre cada elemento. Para ícones, foi adicionada uma propriedade que permite gerenciar seu cache;
- O motor da Web Qt WebEngine foi atualizado para o estado Chromium 73 e aprimorado com suporte a um visualizador de PDF integrado, apresentado como um complemento interno. Nesta nova versão, também foi adicionado um armazenamento de certificados de cliente locais e suporte a certificados a partir de QML. Uma API de Notificações da Web foi adicionada. O suporte para identificação de interceptadores de solicitações URL foi implementado;
- No módulo Qt Network para sockets SSL, o suporte a canais seguros (Secure Channel) foi adicionado, juntamente com a capacidade de verificar o status de certificados usando o protocolo OCSP (Online Certificate Status Protocol). Uma nova ramificação da biblioteca OpenSSL 1.1 foi utilizada para suporte a SSL em Linux e Android;
- No módulo Qt Multimedia para QML, foi adicionada a supporte para reprodução contínua (sem pausas entre conteúdos diferentes, gerida pela propriedade flushMode). Para Windows e macOS, foi adicionada a possibilidade de usar o framework GStreamer. Para Android, foi acrescentado suporte para papéis de som;
- O módulo Qt KNX foi atualizado com suporte ao padrão homônimo para automação residencial. Uma API foi adicionada para estabelecer conexões seguras de cliente com o servidor KNXnet, que podem ser utilizadas para enviar mensagens de forma segura para o barramento KNX e controlar dispositivos compatíveis com KNX;
- O indicativo de desenvolvimento experimental foi removido da API C++ do módulo Qt OPC UA, que oferece suporte ao padrão de comunicação industrial OPC/UA. Uma API experimental para QML foi adicionada;
- Foi adicionado um novo módulo experimental Qt CoAP (Constrained Application Protocol) com a implementação da parte cliente do protocolo M2M, utilizado para criar redes de dispositivos de Internet das Coisas. O suporte para DTLS (Datagram TLS) sobre UDP foi implementado;
- Foram feitas correções e melhorias no conjunto de módulos "Qt for Python" para a criação de aplicativos gráficos na linguagem Python usando Qt5 (os desenvolvedores em Python têm acesso à maior parte da API C++ do Qt). Qt for Python é baseado no módulo PySide2 e continua seu desenvolvimento (na prática, a primeira versão do PySide com suporte ao Qt 5 é oferecida sob um novo nome);
- Um novo módulo experimental foi adicionado , fornecendo uma API ampliada para QML, permitindo renderizar gráficos e animações exportadas no formato JSON através do plugin Bodymovin do pacote Adobe After Effects. Com o QtLottie, o designer pode preparar efeitos de animação em seu aplicativo preferido, enquanto o desenvolvedor pode conectar diretamente os arquivos exportados à interface dos aplicativos em QtQuick. O QtLottie inclui um micro-motor embutido para executar animações, recortes, manipulação de camadas e outros efeitos. O motor está acessível através do elemento QML LottieAnimation, que pode ser controlado a partir do código QML da mesma forma que quaisquer outros elementos do QtQuick;
- No Qt Wayland Compositor, um sistema de renderização multithread para dispositivos embarcados baseado no protocolo Wayland, foi garantido o suporte para os protocolos linux-dmabuf-unstable-v1 e wp_viewporter. O suporte ao protocolo fullscreen-shell-unstable-v1 foi adicionado nos componentes da plataforma para Wayland;
- O módulo de suporte à plataforma Android agora permite o uso de diálogos nativos para trabalhar com arquivos. Os requisitos para a versão mínima da plataforma foram elevados para Android 5.0 (nível de API 21);
- No Qt 3D, foi adicionada a função de importação e exportação de manipuladores de textura OpenGL. O suporte inicial para importação de cenas glTF 2.0 foi implementado;
- Os módulos Qt Script, Qt Quick Controls 1 e Qt XmlPatterns foram declarados obsoletos e serão removidos em uma das próximas versões. O módulo Qt Canvas 3D foi removido.
Após seis meses de desenvolvimento, o lançamento do framework multiplataforma foi concluído
Fonte: opennet.ru
