Étude de cas : utilisation de Qt pour développer des interfaces graphiques et des programmes de visualisation avancés

Jonathan Courtois

Cet article est un résumé de la conférence Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software, réalisée par Tyson Ratliff durant les Qt Developer Days 2009 à Munich.

N'hésitez pas à commenter cet article !
Commentez

- Titre : Étude de cas : utilisation de Qt pour développer des interfaces graphiques et des programmes de visualisation avancés

- Auteur : Jonathan Courtois

- Parution : 28 octobre 2009

- Mise à jour : 27 décembre 2019

- Licence : Copyright ® 2009 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Qui est Tyson Ratliff ?

- II. Qu'est-ce que DAZ Studio ?

- III. Résumé de la présentation

- III-A. Interface graphique personnalisable

- III-B. Multiplateforme

- III-C. Scripts

- IV. Conclusion

I - Qui est Tyson Ratliff ?

Tyson est l'architecte principal du logiciel DAZ Studio. Il est diplômé en informatique avec une spécialité infographie à l'université de Brigham Young. Il travaille sur différentes fonctions de DAZ Studio telles que des outils uniques de pose et d'animation de personnages à l'aide du framework Qt.

II - Qu'est-ce que DAZ Studio ?

DAZ Studio est un logiciel d'illustration et d'animation de personnages en 3D. Contrairement aux autres applications travaillant sur la 3D où les objets sont généralement créés à partir de zéro, DAZ Studio est conçu pour permettre aux utilisateurs de manipuler des modèles prêts à l'emploi. Il est destiné aux utilisateurs qui sont intéressés dans les poses des modèles humains et non humains pour les illustrations et animations, mais qui ne souhaitent pas payer trop ou se perdre dans les autres logiciels de 3D, souvent complexes. Pour plus d'informations : www.daz3d.com.

III - Résumé de la présentation

L'application DAZ Studio est unique et personnalisable, rapide et flexible, tout cela grâce au framework Qt. Qt permet la personnalisation du logiciel, de le rendre multiplateforme, une facilité de développement et l'ajout de script au sein du moteur de l'application.

III-A - Interface graphique personnalisable

L'utilisation de Qt a permis à l'équipe de développement d'utiliser, non seulement les widgets classiques fournis par le framework, mais également la création de nouveaux widgets tels que le « puppeteer ». La conférence présente l'environnement de travail de DAZ studio avec :

1. Une vue du modèle chargé avec la position sélectionnée et éventuellement d'autres données (ici, une image de fond). Ce widget utilise OpenGL ;

2. Une QListView classique avec des images permettant à l'utilisateur de changer le morphing du modèle ;

3. Un widget créé par l'équipe de DAZ Studio permettant à l'utilisateur de placer des positions ou des morphings sur des points clés et de faire varier ceux-ci en choisissant des points intermédiaires.

Figure 1 : Environnement de travail dans DAZ Studio

Qt a permis également au logiciel d'être entièrement personnalisable à l'aide de skins prédéfinis et de créer ses propres skins. La capture d’écran ci-dessous présente le même environnement de travail, mais avec le skin « Carrara ». Une simple sélection de style a permis d'arriver à ce résultat-là.

Figure 2 : DAZ Studio avec le style Carrara

L'avantage de Qt réside également dans la gestion des dispositions (layouts), qui permettent de personnaliser son espace de travail et également de l'enregistrer entre deux instances de l'application.

III-B - Multiplateforme

Grâce à Qt, l'application a pu être portée vers Mac OS en seulement deux semaines et sans aucun problème majeur de portabilité. Cela n'aurait pas pu être possible sans Qt, et cela permet d'agrandir le cercle d'utilisateurs de DAZ Studio.

III-C - Scripts

L'avantage des scripts est qu'ils sont puissants et flexibles, ce qui permet aux utilisateurs d'ajouter des fonctionnalités au logiciel. Il n'est pas nécessaire pour eux de connaître l'ensemble des fonctions utilisées par le logiciel pour développer un script leur rendant service et le faire partager à la communauté. Le logiciel a d'abord utilisé QSA (Qt Script for Applications) et gère maintenant Qt Script, le nouveau standard de script du framework Qt.

IV - Conclusion

Pour conclure, Qt a simplifié le développement multiplateforme du logiciel permettant à l'équipe DAZ 3D de se focaliser sur les fonctionnalités en le laissant faire ce qu'il faut pour les rendre multiplateformes. Le code de l'application peut être rapidement repris du fait que Qt est facile à comprendre et à prendre en main. Le passage de Qt en open source va aider le développement de plug-ins pour DAZ Studio par la communauté existante. Les développeurs de DAZ 3D pensent que le passage au 64 bits va être facile à réaliser, toujours grâce à Qt.