
Qt 6.10 chega Repleto de melhorias para desenvolvedores de aplicativos e criadores de dispositivos, com novos recursos que vão desde acessibilidade e design de interface até áudio, gráficos e suporte de plataforma. É uma versão que facilita o dia a dia quer você trabalhe com QML e Qt Quick ou continue com C++ e Qt Widgets.
Além dos títulos, há mudanças que impactam diretamente a produtividade: um sistema de layout semelhante ao flexbox no Qt Quick, animação vetorial expandida (SVG e Lottie), novos controles como SearchField e maneiras muito mais limpas de conectar dados C++ a interfaces QML. Também há avanços no Android, macOS/iOS, Windows e Linux, e um bom punhado de pequenos detalhes em módulos como Qt Graphs, Qt Quick 3D, Qt Multimedia ou Qt Core.
Acessibilidade e alto contraste no Qt 6.10
A acessibilidade dá um salto significativo: Os estilos integrados do Qt agora respeitam Ajusta automaticamente as configurações de alto contraste do sistema em desktops e dispositivos móveis. Isso ajuda a manter a consistência visual com o restante do ambiente e a cumprir as normas sem trabalho adicional.
A maneira como os widgets Qt e os controles Qt Quick são expostos às tecnologias assistivas (por exemplo, leitores de tela) foi revisada, com uma melhor integração com plataformas subjacentesO progresso é especialmente notável no WebAssembly, e muitas dessas melhorias também chegarão às ramificações do LTS nas próximas atualizações de manutenção.
O Qt 6.10 cria interfaces mais rapidamente
O Qt Quick continua a evoluir para iterar mais rápido, reduzir o código personalizado e obter interfaces de usuário modernas e responsivas. O 6.10 estreia um novo layout do flexbox, o suporte à animação vetorial é expandido e um controle SearchField pronto para uso aparece.
Layout Flexbox para Qt Quick
FlexboxLayout é incorporado como uma "prévia técnica", um sistema inspirado no Flexible Box Layout do CSS que se integra ao mecanismo de layout do Qt Quick (incluindo propriedades anexadas para configurar o comportamento de cada item). Ele foi projetado para compor interfaces responsivas em minutos e manter um desempenho sólido em tempo de execução.
O Qt já oferecia vários layouts para interfaces adaptáveis, mas com o FlexboxLayout é mais fácil acomodar diferentes tamanhos/aspectos de tela e mitigar variações no comprimento do texto devido à internacionalização ou preferências tipográficas.
Gráficos vetoriais animados: SVG e Lottie
Após várias versões reforçando o suporte a gráficos vetoriais (Qt Quick Scene Graph, Qt Quick Shapes e melhoria de SVG), na versão 6.10 é adicionado suporte para animações vetoriais em imagens SVG e Lottie. O módulo Qt Lottie amplia a gama de arquivos modernos suportados e, graças ao VectorImage, é possível renderizar Lottie como um vetor escalável e acelerado por hardware.
Além disso, a ferramenta lottietoqml é incorporada para converter arquivos Lottie em Cenas rápidas do Qt diretamente em QML, complementando o fluxo que o svgtoqml inaugurou.
Novo controle rápido do Qt: SearchField
SearchField é um campo de entrada especializado para pesquisas, com estilos e aparência nativa nas principais plataformas. Ele exibe sugestões relevantes em um menu suspenso filtrado conforme você digita e é alimentado por modelos que você pode fornecer por meio de caminhos de dados QML padrão.
Esta peça se encaixa especialmente bem com as melhorias na troca de dados entre o código C++ e as interfaces de usuário rápidas do Qt: o novo recurso na versão 6.10 torna mais fácil conectar modelos C++ com controles como SearchField sem recorrer a modelos detalhados.
Integre seus dados ao QML com menos atrito graças ao Qt 6.10
O Qt oferece vários mecanismos para acoplar a lógica C++ com a apresentação QML (singletons, QAbstractItemModel, propriedades de contexto, objetos QObject, etc.) e ferramentas como QtCreator 8. Ainda assim, construir uma integração bidirecional completa pode exigir muito código repetitivoNo Qt 6.10, essa barreira foi reduzida com novas APIs e tipos projetados para trabalho real.
Modelo QRange
Chega o QRangeModel, uma implementação leve do QAbstractItemModel para expor intervalos C++ como std::vector, std::array ou qualquer contêiner iterável diretamente para visualizações em Widgets e visualizações rápidas do QML/Qt. Funciona com valores simples (por exemplo, int) e tipos mais complexos (Q_GADGET ou std::tuple), gerando funções apropriadas sem precisar escrever o modelo manualmente.
Se você usar gadgets, o QRangeModel expõe cada propriedade como uma função nomeada, para que os delegados QML possam link com propriedades necessárias de forma tipada. Na prática, você elimina a necessidade de gerenciamento manual de funções ou o abuso de propriedades de contexto, e tudo se encaixa com QML compilado.
delegateModelAccess: escrita direta do delegado
Até agora, para escrever no modelo a partir de um delegado, geralmente era necessário o objeto do modelo ou usar propriedades de contexto. Com a versão 6.10, basta ativar delegateModelAccess no modo ReadWrite para que os delegados possam escrever naturalmente nas propriedades necessárias.
O novo recurso funciona em todas as visualizações do Qt: Instantiator, Repeater, ListView, GridView, TableView, TreeView, MapItemView e Repeater3D. Compondo UIs editáveis Isso o torna mais previsível e consistente com boas práticas de QML.
Sincronizador: sincronização de múltiplas propriedades
Altamente solicitado há anos, o elemento Synchronizer estreia para garantir que várias propriedades compartilham o mesmo valor sempre que possível, sem quebrar nenhum link em nenhum deles. As vinculações costumavam ser combinadas com um manipulador de sinais, e isso funcionava melhor para controles implementados em C++.
Com o Synchronizer tudo se reduz a um único elemento que suporta n propriedades e alvos C++ e QML. Está disponível no módulo Qt.labs.synchronizer e chega como uma prévia técnica.
TreeModel em QML
A exposição de dados de árvore ao Qt Quick costumava envolver a implementação do QAbstractItemModel. O QRangeModel simplifica isso do C++, mas às vezes você deseja declarar a árvore diretamente em QML para protótipos ou pequenos conjuntos de dados. É aqui que entra o tipo QML TreeModel.
Com TreeModel, você define nós com sintaxe de dicionário e matriz no estilo JSON, atribui pares chave-valor a cada item e os usa em visualizações como TreeView sem escrever infraestrutura complexa. Permite iterar a IU em alta velocidade antes de portar a estrutura para C++, se necessário.
SortFilterProxyModel em QML
No lado C++, usamos QSortFilterProxyModel há anos. O Qt 6.10 traz sua contraparte declarativa ao QML para classificar e filtrar dados com uma API amigável à vinculação. Inclui classificadores baseados em funções (como o RoleSorter) e filtros de função reativos (que você pode substituir) para manter listas e tabelas atualizadas.
A ideia é que você pode compor pipelines de classificação e filtragem diretamente em QML, com código conciso e expressivo, sem sacrificar o desempenho ou a clareza.
Mantenha seu produto moderno com o Qt 6.10
Os sistemas evoluem e os usuários esperam que seus aplicativos funcionem nos dispositivos e versões mais recentes. Na versão 6.10, há Melhorias emocionantes na plataforma que facilitam essa continuidade, como demonstrado por projetos derivados do Qt, como LXQt 2.0.
Android: Suporte atual e novas ferramentas
O Qt 6.10 anuncia suporte oficial para Android 15 e 16, com ajustes no sistema de compilação e suporte para páginas de 16 KB. Isso permite que você hardware atual alvo sem surpresas, mantendo estabilidade e desempenho.
Lançamento do Qt Jenny 1.0, um gerador de código que gera cola JNI a partir de classes Java anotadas. Consiste em um compilador e um processador de anotações, gerando APIs Qt C++ baseadas em QJniObject para acessar serviços nativos como BatteryManager, PowerManager ou AudioManager. simplifica até as notificações, que geralmente são complexos via JNI. Está disponível no Maven Central e vem com exemplos no Qt Creator e na documentação online.
O manuseio da tela inicial também foi aprimorado desde o Android 12, evitando telas de boas-vindas duplasA abordagem recomendada é usar uma SplashActivity dedicada, definir temas com translucidez e iniciar a Qt Activity quando o Android estiver pronto, obtendo uma transição perfeita.
macOS e iOS 26
Primeira versão menor desde o lançamento do macOS 26 "Tahoe". O novo design do Liquid Glass e as mudanças na arquitetura de renderização representaram desafios que o Qt resolveu. oferecer suporte totalMuitas melhorias serão retroportadas para as ramificações LTS (6.8 e 6.5) em patches futuros.
Windows: Qt WebView com WebView2
O Qt WebView incorpora uma implementação baseada em WebView2 para usar o Microsoft Edge como mecanismo. Desta forma, você pode incorporar conteúdo da web com o navegador nativo do sistema e implante no Windows sem arrastar o Qt WebEngine, reduzindo o espaço ocupado.
Linux e multimídia
O Qt Multimedia adiciona backend nativo para PipeWire, com latência e controle aprimorados para processamento de conteúdo e hardware (por exemplo, aplicativos como Mxxx 2.5), além de suporte mais fino em ambientes em contêineresA compensação de tom de áudio é adicionada para manter a qualidade ao acelerar ou desacelerar as faixas.
Hardware embarcado
Em dispositivos, o Boot to Qt adota o Yocto 5.2 "Walnascar" e aparece adaptações para placas de nitrogênio EzurioO objetivo: acelerar o tempo de colocação do hardware moderno no mercado, com pilhas atualizadas.
Outras melhorias notáveis no Qt 6.10
O Qt Quick 3D agora permite Crie lightmaps com facilidade para aumentar a qualidade com alto desempenho e executar efeitos de partículas ao contrário, útil para simular chuva ou neve impactando seus modelos.
O Qt Graphs adiciona uma nova superfície preenchida, melhor suporte multieixo, ordem z 2D personalizável e a opção de renderizar uma fatia de um gráfico 3D uma imagem imprimível. Um novo gráfico de superfície preenchida também é adicionado ao catálogo.
No Qt Widgets, crie delegados personalizados É mais fácil e oferece um controle mais granular de arrastar e soltar nas visualizações de itens. Os layouts permitem configurar restrições de tamanho individualmente.
O teclado virtual agora inclui Distribuição letã, expandindo a cobertura de idiomas. E no Qt Core, as APIs foram refinadas para trabalhar com localidades, documentos XML e strings de continuação.
Na interface gráfica do usuário do Qt, o backend QRhi adiciona enumeração de adaptadores 3D ao usar Direct3D 11/12 ou Vulkan, facilitando a escolha de GPUs em máquinas com várias placas.
Foram apresentados melhorias de desempenho no QGrpcHttp2Channel, que beneficia aplicativos que usam gRPC sobre HTTP/2 em cenários exigentes.
Mais sobre o Qt 6.10
Wayland recebe gerenciamento de sessão, um componente essencial para integrações modernas de desktop, e notificações úteis de redefinição gráfica são adicionadas para componentes como compositores (por exemplo, KWin).
O Qt WebEngine incorpora suporte para Extensões do Chromium, uma demanda de longa data dos usuários de navegadores baseados no QtWebEngine. Isso abre caminho para que projetos como o Falkon usem o mesmo ecossistema de extensões que você já usa no Chromium.
Além do suporte direto ao Lottie no VectorImage, a ferramenta lottietoqml simplifica Traga animações para o mundo QML, expandindo seu arsenal criativo sem sacrificar o desempenho.
O Qt 6.10 é um passo importante para o desenvolvimento de interfaces mais acessíveis e modernas, integrando dados C++ em QML com menos atrito e implementando perfeitamente nas plataformas mais recentes, tudo isso enquanto adiciona recursos práticos de multimídia, gráficos e principais que se refletem tanto no desempenho quanto na qualidade do produto final. Se você tem Qt em sua pilha, esta atualização merece um lugar no seu roteiro.