A Qt Company lançou a versão do framework Qt 6.10, que continua o trabalho de estabilização e aumento de funcionalidade da série Qt 6. O Qt 6.10 oferece suporte às plataformas Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6, SUSE 15 SP6, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS e QNX. O código-fonte dos componentes Qt é fornecido sob as licenças LGPLv3 e GPLv2. O Qt 6.10 recebeu o status de versão intermediária, com suporte público disponível por 6 meses (+ mais 6 meses para usuários comerciais).
Principais mudanças no Qt 6.10:
- Adicionado o tipo QML FlexboxLayout para layout responsivo de elementos de interface de acordo com o conceito Flexbox, aplicado no CSS para simplificar o alinhamento vertical dos elementos. A implementação suporta conceitos já utilizados no Qt Quick, como a anexação de propriedades para ajustar o comportamento de elementos individuais no layout.
- Nos módulos Qt Quick Scene Graph e Qt Quick Shapes, foram implementadas funcionalidades para trabalhar com gráficos vetoriais animados, formados a partir de imagens nos formatos SVG e Lottie. No módulo Qt Lottie, foi ampliado o suporte a arquivos no formato Lottie. Adicionada a capacidade de usar o formato Lottie no tipo VectorImage para exibir arquivos Lottie com escalonamento e aceleração de hardware.
- O conjunto Qt Quick Control inclui um novo elemento SearchField com a implementação de um campo de entrada especializado para ser usado com a funcionalidade de pesquisa, permitindo exibir dados relevantes em uma janela pop-up, filtrados com base no texto já inserido no campo. O elemento suporta vários estilos internos do Qt e permite uma aparência nativa para todas as principais plataformas.
- Adicionadas classes para simplificar a integração de modelos de dados C++ com QML e Qt Quick:
- QRangeModel — uma camada sobre QAbstractItemModel para uso direto em elementos de interface baseados em QML e Qt Quick de qualquer tipo enumerado em C++, incluindo std::vector, std::tuples e std::array. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- No tipo QML DelegateModel, foi adicionada a propriedade delegateModelAccess, que pode aceitar o valor DelegateModel.ReadWrite para permitir a gravação no modelo através das propriedades de contexto, objeto do modelo ou propriedades obrigatórias.
- Adicionado o tipo QML Synchronizer, que resolve a questão de sincronização do estado do controle com o valor do modelo. O Synchronizer garante que várias propriedades contenham o mesmo valor — a alteração de uma das propriedades sincronizadas resulta automaticamente na alteração de todas as outras.
- Adicionado o tipo QML TreeModel, que permite a colocação de estruturas de árvore em C++ diretamente no documento QML, utilizando pares chave-valor e uma sintaxe de dicionários e arrays que se assemelha ao JSON.
- Adicionado o tipo QML SortFilterProxyModel, que permite classificar e filtrar dados diretamente do QML, sem usar código em C++.
- No Qt Quick 3D, foram ampliadas as opções para a criação de mapas de iluminação durante a renderização em alta qualidade e foi adicionado suporte para a aplicação reversa de efeitos com partículas, criando o efeito de colisão da chuva ou da neve com o modelo.
- No Qt Graphs, foi adicionado o tipo de superfície preenchida e foi implementada a possibilidade de transformar um corte de gráficos tridimensionais em uma imagem 2D para impressão.
- No Qt Widgets, simplificou-se a implementação de objetos delegate personalizados, melhorou-se o gerenciamento de operações de arrastar e soltar, e foi adicionada a possibilidade de personalizar o tamanho dos layouts.
- No Qt Core, melhorou-se o trabalho com localizações, documentos XML e sequências de operações assíncronas (cadeia de continuação).
- Foram ampliados os recursos para pessoas com deficiência. Os estilos integrados de apresentação contrastante foram adaptados para utilizar configurações de contraste do sistema, para que os aplicativos Qt visualmente se alinharem ao estilo geral. Os controles e widgets do Qt foram aprimorados para uso com leitores de tela.
- Adicionada suporte para plataformas móveis Android 15 e 16, incluindo a possibilidade de funcionar em dispositivos que utilizam páginas de memória de 16 KB.
- Apresentado o Qt Jenny 1.0, que simplifica a integração de aplicativos Qt com a API Java do Android e suporta a geração automática da API C++ a partir de classes Java anotadas, permitindo o acesso direto a serviços Android como BatteryManager, PowerManager e AudioManager a partir do código Qt.
- Adicionadas capacidades para a exibição adequada de telas de bloqueio na plataforma Android.
- Full support for macOS 26 and iOS 26 platforms has been provided, utilizing the Liquid Glass visual language and altering the rendering architecture.
- The Qt WebView module on the Windows platform now includes the ability to embed web content in Qt applications using the WebView2 engine based on Microsoft Edge instead of the Chromium-based WebEngine.
- A backend for multimedia use has been added to the Qt Multimedia module. servidor PipeWire on the Linux platform.
- The Boot2Qt stack has been updated, which can be used to create bootable mobile systems based on the Qt and QML environment. The system environment in Boot2Qt has been updated to the Yocto 5.2 platform. Support for Ezurio Nitrogen boards has been added.
Fonte: opennet.ru
