A empresa Qt Company anunciou o lançamento do framework Qt 6.1, no qual o trabalho de estabilização e expansão da funcionalidade da linha Qt 6 continua. O Qt 6.1 oferece suporte para as plataformas Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ e Android (API 23+). O código fonte dos componentes Qt é fornecido sob as licenças LGPLv3 e GPLv2.
As principais melhorias no Qt 6.1 dizem respeito principalmente à inclusão de módulos que estavam disponíveis no Qt 5.15, mas que não estavam prontos para a inclusão no primeiro lançamento do Qt 6. Em particular, foram incluídos os seguintes módulos:
- Active Qt — suporte a controles COM e ActiveX na plataforma Windows.
- Qt Charts — criação de gráficos.
- Qt Data Visualization — visualização de dados estáticos e dinâmicos.
- Qt Device Utilities — parte do pacote Qt for Device Creation.
- Qt Graphical Effect — camada para simplificar a portabilidade de aplicativos para o Qt 6.
- Qt Lottie — renderiza gráficos e animações exportados no formato JSON usando o plugin Bodymovin para o pacote Adobe After Effects. Inclui um micro-motor embutido para executar animações, recortes, processamento de camadas e outros efeitos.
- Qt State Machine — framework para criar estruturas orientadas a eventos e implementar autômatos finitos baseados em SCXML.
- Qt Virtual Keyboard — implementação de um teclado virtual.
Os módulos que ainda não foram transferidos e são esperados na versão LTS do Qt 6.2, prevista para setembro.
- Qt Bluetooth
- Qt Multimedia
- Qt NFC
- Qt Positioning
- Qt Quick Dialogs: Pasta, Caixa de Mensagem
- Qt Remote Objects
- Qt Sensors
- Qt SerialBus
- Qt SerialPort
- Qt WebChannel
- Qt WebEngine
- Qt WebSockets
- Qt WebView
Mudanças no Qt 6.1:
- No Qt Core, foram realizados aprimoramentos para aumentar a usabilidade e simplificar a API. Foram adicionados os métodos removeIf() e ampliado o número de classes que suportam o método erase_if(). Implementados métodos disponíveis em QString, mas ausentes em QStringView. Funcionalidades de soma, subtração e multiplicação protegidas contra overflow foram adicionadas. Aumentou-se o suporte a valores em ponto flutuante de 16 bits. A API para vinculação de propriedades (property binding), introduzida no Qt 6.0, foi atualizada. Novas classes foram adicionadas para facilitar a integração com Java, QJniEnvironment e QJniObject, frequentemente requisitadas na plataforma Android.
- No Qt Gui, a compatibilidade com a API gráfica Vulkan 1.1 e 1.2 foi aprimorada. Foi adicionado um novo classe QUrlResourceProvider, utilizada no QLabel, permitindo evitar a necessidade de reimplementar loadResource() e criar subclasses de QTextDocument. Implementada a possibilidade de aplicar funções de correção de componentes de espaços de cores definidas pelo usuário na classe QColorSpace.
- No Qt Network, foi introduzida a classe QNetworkInformation, que permite determinar o estado da rede no sistema. No manipulador de cookies HTTP, foi adicionada a suporte ao modo SameSite.
- No Qt Qml, foram implementadas as opções QJSPrimitiveValue e QJSManagedValue para um controle mais sutil da execução do JavaScript.
- No Qt Quick 3D, foi adicionada a suporte ao morphing de animações de destino e foi implementada a suporte experimental para rendering instanciado, permitindo a renderização de múltiplas cópias de objetos semelhantes em uma única passagem, localizados em áreas periféricas da cena. Este método acelera significativamente a renderização ao ter muitos objetos similares na cena. Com base nesse método, foi implementada a suporte para renderização de partículas tridimensionais.
Fonte: opennet.ru
