Les bindings Python sur Qt

Exclusif Premium

Débloquez votre potentiel ! ✨

Cette session fait partie de notre programme Premium exclusif

+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors

Prêt à passer au niveau supérieur ?

Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!

Inscris-toi

(c'est gratuit !)

Un compte est nécessaire pour participer aux discussions.

Créer un compte

Les bindings Python sur Qt

Afin de créer des applications de bureau avec Qt et Python, nous devons utiliser ce qu'on appelle en anglais des "binding".

Quand on commence à s'intéresser à Qt, on est souvent perdu entre les différentes bibliothèques Python qui permettent de travailler avec ce framework.

Les deux bibliothèques les plus connues sont PySide et PyQt.

Ces deux bibliothèques ont beaucoup évolué et sont donc disponibles sous différents noms de versions.

Pour la bibliothèque PySide par exemple, vous trouverez PySide, PySide2 et PySide6.

Pour PyQt, vous trouverez PyQt, PyQt5 et PyQt6.

Les dernières versions de PyQt et PySide suivent les versions de la bibliothèque Qt. C'est la raison pour laquelle on est passé directement de PySide2 à PySide6.

Les prochaines versions de ces bibliothèques devraient donc logiquement être PyQt7 et PySide7.

Quel binding choisir ?

PyQt est le binding le plus ancien. Il a été développé par Phil Thompson de la compagnie Riverbank.

En 2009, Nokia qui possédait à l'époque le framework Qt, souhaitait créer un binding Python avec une licence plus permissive. PyQt est en effet distribué sous une licence qui vous oblige à acheter une licence commerciale si vous souhaitez utiliser ce binding pour créer des applications à usage commercial.

Nokia n'ayant pas réussi à trouver d'accord avec Riverbank, ils ont créé leur propre binding Python sous le nom de PySide.

Pendant longtemps, PyQt avait une longueur d'avance sur PySide. La sortie de PyQt5 a précédé de 2 ans celle de PySide2.
Historiquement, vous trouverez donc plus d'applications utilisant PyQt.

Cependant, la donne a changé récemment, PySide ayant été récemment récupéré par Qt comme binding officiel. À cette occasion, le nom de la bibliothèque a changé pour devenir Qt for Python.

Rassurez-vous, il existe très (très !) peu de différences entre PyQt et PySide. Vous pouvez la plupart du temps convertir un programme entier de l'un à l'autre juste en changeant les imports en début de fichier.

La plus grosse différence entre les deux binding se situe au niveau de la licence.

Si vous souhaitez distribuer vos applications commercialement, sans donner accès au code source, vous devrez avec PyQt payer une licence à Riverbank Software. Ce n'est pas le cas avec PySide qui vous permet de distribuer commercialement une application créé avec ce binding.

!!!warning
Quel que soit le binding que vous choisissez d'utiliser, vous devrez tout de même acheter une licence de Qt si vous souhaitez distribuer vos programmes commercialement. Si vous utilisez PyQt, vous devrez ainsi payer deux licences (celle de Qt + celle de PyQt). Si vous utilisez PySide, seule la licence de Qt sera nécessaire.
!!!

Ce n'est pas fini...

Tu as complété % du parcours 🔥

Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.

Rechercher sur le site

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.