A diferença entre Qt5 e Qt6

A diferença entre Qt4 e Qt5
Já migrei um projeto de QT4 para QT5 antes, então escrevi um artigo sobre a diferença entre Qt4 e Qt5. Depois de entrar em contato com o Qt6 no ano passado, gostaria de apresentar a diferença entre Qt6 e Qt5. Através de minha própria experiência de teste e do conselho de vários especialistas na Internet, tenho um entendimento geral.
Cada versão estável:

Qt4: versão final da série 4.8.7 4.X
Qt5: versão de suporte de longo prazo 5.6 LTS
Qt5: versão de suporte de longo prazo 5.9 LTS Qt5: versão de
suporte de longo prazo 5.12 LTS
Qt5: versão de suporte de longo prazo 5.15 LTS

Introdução a cada versão:

1. Qt4.8.7 é a versão final do Qt4. É a versão mais estável e clássica da série Qt4 (muitas placas embarcadas ainda usam Qt4.8). Na verdade, esta versão foi lançada quase ao mesmo tempo que o Qt5. 5. (Há desenvolvimento e manutenção simultâneos entre versões principais)

2. Qt5.6.3 é a última versão de suporte de longo prazo que suporta o sistema XP, e Qt5.7.0 é a última versão de suporte de não longo prazo que suporta o sistema XP.

3. Qt5.12.3 é a última versão que fornece o plug-in de banco de dados mysql.Versões posteriores precisam compilar o plug-in de banco de dados mysql correspondente por conta própria, e o pacote de instalação oficial não é mais fornecido.

4. Qt5.12.5 é a versão com o maior desempenho da folha de estilo final. Depois de verificar o código, o especialista em código legal descobriu que o código-fonte da versão posterior da folha de estilo tinha configurações de aninhamento de loop para corrigir um bug , resultando em um declínio acentuado no desempenho. Quanto mais interfaces, pior o desempenho. Caiu mais de 10 vezes.

5. Qt5.14.2 é a última versão que fornece pacotes de instalação binários e as versões subsequentes precisam ser instaladas online.

6. A série Qt5.15 é a última versão que suporta win7.As versões subsequentes da série Qt6 precisam alterar a compilação do código-fonte para suportá-la, o que é difícil para iniciantes. _Qt_5.15
QFile::moveToTrash, move arquivos para a lixeira (anteriormente, os arquivos só podiam ser excluídos diretamente)
QThreadPool::start, tryStart, start para suportar lambda Adicionada
função de modelo estático QDebug::toString, que transfere o objeto fornecido para uma instância QDebug que opera em uma string e retorna essa string.
Muitos dos métodos de dimensionamento e conversão do QImage foram atualizados para serem multithread.
QNetworkAccessManager começa a oferecer suporte a configurações de tempo limite.
QWebEngineHistory adiciona QWebSocket claro para começar a oferecer suporte à configuração do tamanho máximo do quadro e do tamanho da mensagem. Qt Android conclui documentação aberta.

a diferença

1. É mais conveniente usar o cmake para construir projetos no Qt6. A razão é que a estrutura do Qt6 é construída através do cmake, e certas otimizações foram feitas para projetos construídos pelo cmake. Claro, qmake também suporta isso.
2. Qt6 suporta C++ 17 por padrão, e Qt5 suporta C++ 14 e C++ 11 por padrão. Claro, se você quiser que Qt5 também suporte C++ 17, você pode definir CONFIG += C+ no Arquivo Pro. +14 alterado para 17.
3. O desempenho e a riqueza do QML foram bastante melhorados.
4. Vulkan, o sucessor designado do OpenGL no Linux, e o desenvolvimento de interfaces gráficas como o Metal que a Apple está promovendo. Não é mais suficiente para o Qt5 confiar no OpenGL. Agora, o Qt 6 adicionou um grande número de APIs gráficas para diferentes plataformas (OpenGL, Metal, Vulcan e Direct3D) para garantir que os usuários possam executar o Qt com desempenho máximo em todas as plataformas.
5. Qt Quick unifica 2D e 3D. Combine conteúdo 2D e 3D em uma única pilha.
6. O kernel do navegador foi atualizado, a página da web (módulo QWeb) foi otimizada, a página de cache padrão foi cancelada e foi alterada para navegação anônima.
7. Cancele as interfaces de algumas estruturas de dados, como QList, QVecter, QMap e QHash, como especificar a interface a ser excluída.
8. QNetworkAccessManager habilita o protocolo HTTP/2 por padrão.
9. QNetworkInformation introduz um novo atributo BehindCaptivePortal, que pode ser usado para verificar se o usuário está conectado a
uma rede com um portal de rede cativa.

Supongo que te gusta

Origin blog.csdn.net/weixin_43246170/article/details/133039005
Recomendado
Clasificación