IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Téléchargez Python Discussion :

Convertisseur basique PyQt5 vers PyQt6


Sujet :

Téléchargez Python

  1. #1
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut Convertisseur basique PyQt5 vers PyQt6
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Convertisseur basique PyQt5 vers PyQt6

    M'étant récemment mis à PyQt6, j'ai constaté quelques changements, surtout en ce qui concerne les constantes PyQt5 (exemple Qt.yellow) qui sont devenues énumérations (ici Qt.GlobalColor.yellow).

    Ayant un gros paquet de sources à convertir, j'ai décidé d'écrire un convertisseur généraliste en Python.

    L'usage est simple: on lui donne le fichier PyQt5 et il crée une copie PyQt6.

    Qu'en pensez-vous ?
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour Sve@r

    Un grand merci pour avoir fait ce convertisseur! Je ne l'ai pas encore utilisé, mais je me rappelle la conversion PyQt4 => PyQt5 pénible, et j'avais automatisé 90% et le reste à la main.

    D'ailleurs, pour faire les dernières corrections à la main quand on a de nombreux fichiers à traiter, il est intéressant d'avoir un programme de recherche multi-fichiers du contenu des fichiers. Par exemple ici, de chercher tous les fichiers qui ont "Qt." (en regex) avec comme résultat pour chaque fichier sélectionné le numéro de ligne et la ligne pour faire les corrections au bon endroit avec un éditeur de texte. Dans certains cas, ce même programme peut faire des modifications automatiques. Par exemple "PyQt5" => "PyQt6" pour tous les fichiers sélectionnés. J'ai fait un tel programme en PyQt5, et ça me fait gagner beaucoup de temps.

    A part ça, j'envisage de passer à PyQt6, mais... peut-on installer en même temps PyQt5 et PyQt6?. Je ne pose pas cette question par hasard: j'ai fait une mauvaise expérience quand j'avais installé PySide en même temps que PyQt, et j'avais dû réinstaller Python...
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    bonjour

    Pour moi, sous linux, pas de problème pour utiliser les 2 (Qt et python installé au niveau system et non en venv)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    pacman -Qs pyside
    local/pyside2 5.15.6-1
        Enables the use of Qt5 APIs in Python applications
    local/pyside6 6.3.2-1
        Enables the use of Qt6 APIs in Python applications
    local/pyside6-tools 6.3.1-1
        Tools for PySide6
     
    pacman -Q | grep -E '^(qt5|qt6)-base'
      qt5-base 5.15.6+kde+r167-1
      qt6-base 6.3.2-1
    par contre, "pyside6-tools 6" remplace "pyside-tools version 2". Donc je ne peux malheureusement pas installer les 2 outils de dev sur la même machine ici, c'est un problème spécifique à ce paquet, je suppose que cela est différent avec d'autres linux...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pacman -Qi pyside6-tools
    Nom                      : pyside6-tools
    Dépend de                : pyside6
    Est en conflit avec      : pyside2-tools

    ----------
    merci pour le convertisseur, pas encore testé
    $moi= ( !== ) ? : ;

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Je viens d'essayer sur un PC annexe sous Windows 11. Apparemment, les modules de PyQt6 ne se mélangent pas à ceux de PyQt5, ce qui est une bonne nouvelle. Mais je n'ai pas vérifié ailleurs que dans le répertoire des modules (site-packages), et je n'ai rien exécuté.

    Cependant, il faudra que j'attende un peu avant de me mettre à PyQt6 à cause d'une incohérence dans les versions (provisoire j'espère).

    - Si j'installe PyQt6, il se charge avec la version 6.3.1

    - J'installe ensuite PyQt6-WebEngine avec la version 6.3.1

    - Mais quand j'installe PyQt6-tools pour avoir QtDesigner, Assistant et Linguist (indispensables), il n'existe pas dans la version 6.3.1, mais seulement 6.1.0. Pendant l'installation, il désinstalle PyQt6 pour le réinstaller dans la version 6.1.0. Mais là, c'est PyQt6-WebEngine qui n'est plus compatible, et en plus, il n'existe pas dans la version 6.1.0.

    - En plus, j'utilise beaucoup l'aide de Qt en C++ avec Assistant.exe (beaucoup plus pratique que l'aide en ligne), mais il faut l'ensemble des fichiers d'aide .qch. Avec PyQt5, il y a un module de PyPi qui les amène (PyQtDoc), mais la version PyQt6 n'existe pas encore. La seule manière de les avoir consiste à installer tout Qt6, et c'est une très grosse et longue installation!

    Bref, j'attendrai un peu que tout ça soit stabilisé.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Liste des enums de PyQt6
    On peut compléter cet outil en générant automatiquement un dictionnaire des constantes : Extracteur_enum_PyQt6.py.

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par BBellon Voir le message
    On peut compléter cet outil en générant automatiquement un dictionnaire des constantes : Extracteur_enum_PyQt6.py.
    Désolé du retard mais un SUPER GRAND MERCI pour ce MAGNIFIQUE outil.
    Je viens de le tester et c'est GENIAL !!!

    En fait je suis revenu mettre à jour mon code (j'ai trouvé d'autres constantes) et donc j'ai vu le commentaire et ton exemple.

    Poste-le en tant qu'outil à télécharger, il le mérite !!! Et si tu le fais je mettrai ton lien en commentaire ici...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [Python 3.X] mise-a-niveau pyqt5 vers pyqt6 qmultimedia pas de son
    Par davidbret dans le forum Programmation multimédia/Jeux
    Réponses: 1
    Dernier message: 15/05/2022, 23h26
  2. Convertisseur // vers série pour une bidouille
    Par gastoncs dans le forum Hardware
    Réponses: 6
    Dernier message: 02/11/2007, 21h17
  3. Réponses: 2
    Dernier message: 06/11/2006, 09h55
  4. Probleme convertisseur RS232 vers RS485
    Par nico_ioltech dans le forum Composants
    Réponses: 2
    Dernier message: 05/10/2005, 09h10
  5. convertisseur de classe C++ vers classe Java ?
    Par novice12 dans le forum C++
    Réponses: 3
    Dernier message: 16/12/2004, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo