Developpez.com - PyQt & PySide

Le Club des Développeurs et IT Pro

Qt for Python 5.11 est disponible

La nouvelle couche de liaison Python pour Qt sous licence permissive arrive en préversion

Le 2018-06-16 17:35:43, par dourouc05, Responsable Qt & Livres
Qt a une histoire relativement longue avec le langage Python : il a toujours été le deuxième langage de programmation dans cet environnement. Cependant, l’histoire se rapprochait des amours infidèles : PyQt est développé par une société externe (RiverBank) et est disponible sous licence GPL (ou commerciale) ; PySide a eu ses heures de gloire en 2009 et peu après, mais, malgré ses licences permissives (LGPL, GPL ou commerciale), n’a jamais réussi la transition vers Qt 5. C’était sans compter les derniers développements : depuis deux ans, le chantier PySide 2 s’active, avec le retour du projet sous le giron de Qt.

Les premiers effets se font enfin sentir : voici que Qt pour Python 5.11 (le nouveau nom de PySide) arrive en préversion technologique (la version finale est attendue pour Qt 5.12). Comme son nom l’indique, cette première sortie n’est compatible qu’avec Qt 5.11 et pas les versions antérieures (fait amusant : PyQt 5.11 n’est pas encore disponible). Côté licence, la LGPL est toujours de mise aux côtés de la GPL et d’une licence commerciale.

Ce renouveau du projet est déjà assez ancien. Il a débuté à l’époque de Qt 5.6, avec l’objectif de faire fonctionner le code existant pour Qt 5.7. Cela nécessitait tout de même de porter Shiboken (le générateur de couche de compatibilité entre Python et C++) vers C++11 : cet outil doit analyser le code C++ d’une bibliothèque (Qt en l’occurrence) pour générer le code Python pour l’appeler. Analyser du code C++98 n’était déjà pas une mince affaire, mais adapter Shiboken à C++11 relevait de l’impossible sans grande équipe : l’outil a donc été réécrit à base de libclang (comme QDoc ou Qt Creator).

L’installation se fait uniquement par le gestionnaire de paquets de Python, pip. À cause du poids du paquet, PySide 2 ne peut pas être mis à disposition sur PyPI pour le moment, la commande est donc plus complexe que d’habitude :
pip install --index-url=https://download.qt.io/official_releases/QtForPython/ pyside2

Source : Qt for Python 5.11 released.
  Discussion forum
2 commentaires
  • Jiyuu
    Rédacteur/Modérateur
    à tous,

    Oulala, cela fait un moment que je ne suis pas passé par ici, mais je suis toujours (de loin) le développement de Qt pour Python.
    J'ai été agréablement surpris de voir que PySide2 était dispo sur PyPi. Je n'ai plus qu'à tester (correctement)

    Tschuss

    J