interface privée. Tout ce travail d’extension est censé être fait en QML (il est
d’ailleurs encore plus aisé qu’en Python), mais la performance peut en pâtir.
En d’autres termes, il n’est pas facile d’y accéder depuis son propre code et,
de toute façon, les développeurs de Qt ne garantissent aucunement sa stabilité :
tout code qui utilise directement les composants Qt Quick en Python (par
héritage, par exemple) n’a aucune garantie de continuer à fonctionner avec la
prochaine version de Qt.
Cette décision a beaucoup de sens : l’utilisateur peut toujours faire ce qui lui
plaît en QML (le code ne sera pas complètement cassé par une mise à jour),
tout en laissant aux développeurs de Qt la liberté de faire évoluer l’API
interne, notamment à cause du jeune âge de Qt Quick.
Quelles conclusions peut-on en tirer ? La vue graphique n'est plus l'objet de grandes
attentions, mais est extrêmement stable et performante : elle est d’ailleurs utilisée
dans un très grand nombre d’applications. Il n’est pas envisagé, pour le moment, de
les retirer de Qt. Néanmoins, la politique actuelle de Qt indique clairement que
Qt Quick est l’avenir pour la création d’interfaces graphiques : les nouvelles
fonctionnalités de Qt sont d’ailleurs généralement utilisables aussi bien en Python
qu’en QML (comme Qt 3D).
Ce livre ne pose pas de choix particulier : pour le moment, les deux approches ont
du sens, selon le type d'application à développer. Ainsi, nous présentons tant la vue
graphique (Affichage 2D interactif avec les vues graphiques ) que Qt Quick
(Développement d'une application avec Qt Quick). Vous pourrez ainsi vous faire
votre propre avis sur chacune de ces deux solutions et voir laquelle est la plus
appropriée à vos besoins.
Note > À titre de comparaison, PyQt propose la classe QPainter pour le dessin à
l'écran (tout ce qui n'est pas possible avec les classes de base de Qt, comme des
courbes, des graphiques scientifiques, etc.). Elle est déjà relativement ancienne
(première moitié des années 2000 !), mais reste là : malgré l'apparition de
solutions nettement plus évoluées, plus complexes (les vues graphiques et
Qt Quick en particulier), les fonctionnalités de QPainter sont toujours là et elles
ne devraient pas disparaître avant longtemps. Les changements sont rares, mais
pas inexistants : courant 2017, elle sera adaptée aux technologies de rendu les
plus modernes (une dépendance à OpenGL 2 limitée).
22
d’ailleurs encore plus aisé qu’en Python), mais la performance peut en pâtir.
En d’autres termes, il n’est pas facile d’y accéder depuis son propre code et,
de toute façon, les développeurs de Qt ne garantissent aucunement sa stabilité :
tout code qui utilise directement les composants Qt Quick en Python (par
héritage, par exemple) n’a aucune garantie de continuer à fonctionner avec la
prochaine version de Qt.
Cette décision a beaucoup de sens : l’utilisateur peut toujours faire ce qui lui
plaît en QML (le code ne sera pas complètement cassé par une mise à jour),
tout en laissant aux développeurs de Qt la liberté de faire évoluer l’API
interne, notamment à cause du jeune âge de Qt Quick.
Quelles conclusions peut-on en tirer ? La vue graphique n'est plus l'objet de grandes
attentions, mais est extrêmement stable et performante : elle est d’ailleurs utilisée
dans un très grand nombre d’applications. Il n’est pas envisagé, pour le moment, de
les retirer de Qt. Néanmoins, la politique actuelle de Qt indique clairement que
Qt Quick est l’avenir pour la création d’interfaces graphiques : les nouvelles
fonctionnalités de Qt sont d’ailleurs généralement utilisables aussi bien en Python
qu’en QML (comme Qt 3D).
Ce livre ne pose pas de choix particulier : pour le moment, les deux approches ont
du sens, selon le type d'application à développer. Ainsi, nous présentons tant la vue
graphique (Affichage 2D interactif avec les vues graphiques ) que Qt Quick
(Développement d'une application avec Qt Quick). Vous pourrez ainsi vous faire
votre propre avis sur chacune de ces deux solutions et voir laquelle est la plus
appropriée à vos besoins.
Note > À titre de comparaison, PyQt propose la classe QPainter pour le dessin à
l'écran (tout ce qui n'est pas possible avec les classes de base de Qt, comme des
courbes, des graphiques scientifiques, etc.). Elle est déjà relativement ancienne
(première moitié des années 2000 !), mais reste là : malgré l'apparition de
solutions nettement plus évoluées, plus complexes (les vues graphiques et
Qt Quick en particulier), les fonctionnalités de QPainter sont toujours là et elles
ne devraient pas disparaître avant longtemps. Les changements sont rares, mais
pas inexistants : courant 2017, elle sera adaptée aux technologies de rendu les
plus modernes (une dépendance à OpenGL 2 limitée).
22
