Pourquoi un tel intérêt ?
Ces dernières années, j'ai cru constater que Qt allait vraiment être la bibliothèque à la mode. Habituellement, lorsqu'un utilisateur du forum C++ demande quelle bibliothèque utiliser pour son interface graphique, on lui répond les classiques :
- wxWidgets ;
- GTK+ ;
- Qt.
La réponse n'est pas nécessairement mauvaise. Chacune est gratuite, open source, multiplateforme et permet de répondre au besoin. Seul l'utilisateur pourra choisir et prendre celle qui lui convient ou plaît le mieux.
Mais actuellement, parmi ces trois-là, j'ai l'impression que seule Qt est encore valable. En effet, wxWidgets ne me semble plus évoluer (une fausse impression, au vu de cette page Wikipedia) et GTK+ n'est pas facile d'accès sous Windows. Et puis, Qt a le vent en poupe et on a pu entendre beaucoup de projets passer de GTK vers Qt.
La liste
J'ai réalisé une recherche avec le motif Qt*.dll (sans respect de la casse).
Et voici le résultat :
- ROCCAT Swarm (gestion des périphériques ROCCAT) ;
- Blizzard App/Blizzard Launcher (le Hub de Blizzard) ;
- VirtualBox (virtualisation) ;
- Nokia Suite (utilitaire pour les téléphones Nokia (une relique )) ;
- Qt Creator (EDI, en plus, j'ai Qt d'installé) ;
- Wireshark (analyse des paquets réseaux).
Finalement, c'est faible (sachant les 120 dossiers dans Program Files (x86)).
À titre de comparaison, pour GTK, on a :
- Inkscape (logiciel de dessin vectoriel) ;
- MonoDevelop (EDI pour le C# (installé avec le moteur de jeux Unity)) ;
- GIMP (logiciel de manipulation d'images) ;
- Pidgin (logiciel de communication).
Et pour wxWidgets :
- Code::Blocks (EDI) ;
- Audacity (manipulation de fichiers audio) ;
- Amaya (EDI pour le Web) ;
- gDEBugger (débogueur OpenGL) ;
- UDK (moteur de jeux vidéo).
Conclusion
Tout d'abord, il ne faut pas se reposer sur ces impressions. On remarque ici que l'utilisation des API semble équitable. De plus, j'utilise en priorité des outils pour les développeurs et tous les logiciels installés ne sont pas nécessairement en C++. Ce faisant, ce que je donne est une vision très restreinte de l'utilisation des API d'interface graphique. Étant sous Windows, il y a certainement une plus grande majorité d'applications utilisant l'API de Microsoft (parmi ces applications, j'ai Visual Studio d'installé) et cela est d'autant plus logique si ces dernières n'ont pas besoin de fonctionner sous Linux (pas besoin de chercher une solution multiplateforme).
Aussi, la méthode de recherche n'est pas infaillible. Il se pourrait que certaines applications embarquent les bibliothèques en statique. Une meilleure méthode serait de prendre tous les exécutables et de passer un nm pour en sortir les symboles présents dans les fichiers. Et encore !