Qt est la bibliothèque de création d’interfaces graphiques de référence en C++, en proposant moult manières de
Qt est un framework C++ principalement connu pour la création d’interfaces graphiques, c’est notamment ce qui lui a valu bon nombre de couches d’accès depuis d’autres langages, principalement Python. Il en existe deux : PyQt et PySide. Historiquement, PyQt est arrivé en premier, mais sous licence GPL ou commerciale — ce qui ne convient pas à bon nombre de projets, la famille de licences GPL étant prévue pour empoisonner tout le code qui l’utilise (copyleft). Nokia a donc lancé le développement de PySide, qui est disponible sous une licence bien plus permissive : la LGPL.
Cependant, dès 2011, les développeurs avaient des doutes sur la viabilité de PySide : Nokia venait d’arrêter de les financer. Le projet n’a plus pu avancer à un bon rythme les années d’après, même en rejoignant l’infrastructure du Qt Project. En 2015, il a été déclaré officiellement abandonné. Au niveau technique, PySide n’a jamais pu être porté tel quel vers Qt 5, il s’est limité à Qt 4, à cause notamment de la nouvelle architecture modulaire.
Peu après l’annonce de mort cérébrale, un développeur indépendant a repris le travail vers un PySide 2. Le projet revit petit à petit.
Depuis lors, la Qt Company a vu son intérêt grandir dans le projet et s’apprête à y consacrer plusieurs développeurs à temps plein, ainsi que d’investir dans l’infrastructure nécessaire, de telle sorte que PySide devienne une partie intégrante des nouvelles versions de Qt. L’intérêt principal est de fournir une couche de liaison Python sous une licence libre — la LGPL —, en accord avec les derniers changements à ce sujet dans Qt. Évidemment, l’objectif est aussi de fournir PySide sous une licence commerciale, ce qui nécessite l’accord des développeurs existants de PySide.
Pour la technique, l’avenir de PySide passera probablement par une grande réécriture de son code. En effet, une bonne partie utilise Shiboken, un générateur de code qui doit analyser une bonne partie de la syntaxe C++ du code de Qt, un exercice qui deviendra de plus en plus difficile avec Qt 5.7 et l’exploitation plus importante de C++11. Une possibilité serait d’exploiter Clang, plus particulièrement sa partie d’analyse syntaxique et sémantique du code C++.
Source : Bringing pyside back to Qt Project.
Ce contenu a été publié dans Qt par dourouc05.
PySide 2 revient sous le nom de Qt pour Python
PySide 2 revient sous le nom de Qt pour Python
la bibliothèque d'interfaces graphiques devrait avoir sa première préversion début juin
Qt est la bibliothèque de création d’interfaces graphiques de référence en C++, en proposant moult manières de créer ses interfaces : par une approche classique à base de widgets, par un langage déclaratif (QML), etc. Ceci, sans oublier que Qt fait bien plus que des interfaces graphiques : une bonne partie de ses modules n’a aucun rapport avec elles, se concentrant sur toutes les autres fonctionnalités intéressantes pour une application (impression, accès au réseau, fonctionnalités multimédias, etc.).
Python est un langage qui monte sans cesse, notamment pour la création de sites Web et l’analyse de données, mais aussi pour les interfaces graphiques. Des déclinaisons de Qt pour Python existent depuis un certain temps : PyQt existe depuis Qt 3 (mais sous licence GPL ou commerciale), PySide depuis 2009 et Qt 4.5 (la première version de Qt sous LGPL : à l’époque, Nokia a soutenu PySide comme solution LGPL pour Python). Cependant, PySide est peu à peu tombé en désuétude ces dernières années, restant bloqué à Qt 4 ; PyQt continue son développement à un bon rythme.
Le projet Qt prévoit depuis un certain temps de faire revivre PySide… et la situation s’améliore de jour en jour. Il aura fallu deux ans de travail, mais les fruits sont bientôt mûrs. Le projet change de nom : il ne faudra plus parler de PySide 2, mais bien de Qt pour Python. L’idée est probablement d’éviter d’ajouter un numéro de version inutile pour se calquer sur les versions de Qt. D’ailleurs, la première préversion technologique sera disponible peu après Qt 5.11 (ce dernier étant prévu pour fin mai).
Télécharger Qt pour Python (version encore instable).
Source : Qt for Python is coming to a computer near you.