About us Expertises Offer References Contact us Blog
FR EN

Qt Quick vs Qt Widgets

Comment choisir entre Qt Quick et Qt Widgets ? Le second s'est fait remplacer par Qt Quick Widgets mais garde un petit avantage !

10/01/2022

Nathanaël Landais

image blog Qt Quick vs Qt Widget

Votre choix est fait, vous allez développer votre produit avec Qt. Mais à peine ce choix fait qu’un autre s’offre à vous. Pour votre gui embarqué, vaut-il mieux utiliser Qt Widgets ou Qt Quick ?

Pourquoi existe-t-il deux choix, à quoi bon développer deux technologies différentes pour le même usage ?

Qt Widgets est la solution de conception d’interfaces utilisateurs dite historique de Qt.
Vous développez votre GUI avec des « widgets » créés dans le code C++ de votre application.

Qt Quick est une solution apparue plus tard, avec Qt 4.7.1.
L’approche est différente, cette fois-ci votre code d’interface utilisateur est séparé du reste de votre application.
Avec Qt Quick vient un nouveau langage dédié à cet usage, le QML (Qt Markup Language).

Mais Qt Quick n’a pas signé la fin de Qt Widgets. En effet, même si les développements du framework sont désormais centrés sur Qt Quick, les deux restent complémentaire et il existe toujours au moins une bonne raison de continuer à utiliser la solution historique.

Je suis Nathanaël Landais, architecte en développement de logiciels embarqués IoT. J’ai conçu et développé des systèmes embarqués s’appuyant sur des composants open source aujourd’hui distribués en centaines de milliers d’exemplaires à travers le monde. Leur point commun, des interfaces utilisateur modernes et fluides.

 


Qt Quick, le pour et le contre

Les avantages

Il y a donc beaucoup d’avantages considérables à utiliser Qt Quick.
Mais il y a aussi un inconvénient principal : le QML n’est pas du C++, c’est un langage interprété, avec un prix à payer sur la consommation de ressources. Qt Quick peut compiler votre code QML en bytecode qui doit ensuite être lu et interprété à l’exécution.

Si l’utilisation d’un bytecode réduit la consommation de ressources, elle ne la ramène pas à celle d’un code purement C++. Il faut compter autour de 60 Mo d’empreinte mémoire en plus pour Qt Quick par rapport à Qt Widgets.

L’alternative Qt Widgets

Les avantages

Les inconvénients

Alors, Qt Quick ou Qt Widgets

Dans la majorité des cas, je vous répondrais Qt Quick, c’est la solution actuelle et future. Utiliser Qt Widgets c’est se limiter à une technologie passée avec plus d’inconvénients que d’avantage. Reste que si votre projet à des contraintes matériels forte avec des ressources très limités, Qt Quick peut ne tout simplement pas être envisageable. Dans ce cas Qt Widgets peut être une alternative.

Vous hésitez encore entre les deux ? Contactez-nous pour en discuter. Nous analyserons votre produit pour voir quelle est la meilleure solution pour vous. Si votre choix est fait, j’ai développé de nombreux produits avec les technologies Qt, je peux vous accompagner dans vos développements.

 

Avez-vous réfléchi à la question des licences ? Qt est disponible sous licence commerciale et open source. Pour vous aider, j’ai écrit cet article : Qt – Choisir entre licence open source et commerciale !

Article précédent

Intégrez de l’open source dans votre produit IoT commercial

Article suivant

Choisir entre Qt 5 et Qt 6 pour votre application Linux embarqué