- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :On va voir comment exporter notre calculatrice dans un fichier UI et le convertir en fichier Pythongrâce à PySide UIC. Donc ce que je vais faire déjà c'est sauvegarder cette interface donc pour ça
00:00:12 :on fait file save as et on va la sauvegarder je vais la mettre directement dans mon dossierutilisateur et l'appeler calculator.ui. Donc vous sauvegardez ce fichier vous n'avez qu'un
00:00:22 :choix ici d'extension donc .ui donc il n'y a pas vraiment d'options ici que vous pourriezmodifier donc moi je vais juste laisser ça par défaut et changer le nom pour mettrecalculator.ui. Donc je clique sur save si je vais voir à l'intérieur de mes documents on a donc
00:00:35 :ce fichier d'interface qui est du XML qui définit en fait tous les widgets et comment ils sontagencés les uns par rapport aux autres et on va devoir donc convertir cet élément en fichier Python.
00:00:45 :On pourrait charger ce fichier d'interface directement à l'intérieur d'un script Pythonil y a des méthodes qui existent à l'intérieur de PySide pour ne pas avoir besoin de faire laconversion mais je trouve que ce n'est pas forcément très pratique puisqu'on ne va parexemple pas avoir l'autocomplition puisque vous voyez ici le nom des widgets etc c'est du XML
00:01:01 :c'est pas du Python donc il y a pas mal de choses comme ça qui peuvent être assez embêtante si onreste avec notre fichier .ui également ça va être un petit peu plus long à charger et à ouvrir
00:01:11 :l'interface puisqu'il va falloir faire la conversion à la volée donc moi je préfère convertir lefichier et directement avoir un fichier Python. Donc pour ça on va utiliser l'exécutable qui
00:01:20 :est PySideUIC qui se trouve dans le même dossier que là où se trouvait QtDesigner donc là je suisdans mon installation de Python, de Python 3.9 dans le dossier bin et si je fais un ls on voit
00:01:32 :que j'ai bien ici QtDesigner avec PySideSysDesigner et nous ce qui nous intéresse c'est PySideSysUICdonc on va utiliser cette exécutable donc je vais taper .slash PySideSys-UIC et si jamais
00:01:44 :vous ne vous souvenez pas des options vous pouvez faire "--help pour afficher l'aide decette exécutable". Donc nous il y a plusieurs choses qu'on va utiliser déjà on va écrire le
00:01:53 :fichier UI dans un fichier Python donc on va utiliser l'output ici pour dire où est-ce qu'onsouhaite écrire le fichier Python et on va également changer le générateur puisque par défaut il vaconvertir notre fichier en C++ donc c'est le cpp ici que vous avez nous on va vouloir utiliser du
00:02:09 :Python donc on va mettre Python avec cette option "-g". Donc je vais faire ça tout de suite je vaisfaire .slash PySideSys-UIC. On va mettre en premier le chemin vers notre fichier d'interface
00:02:20 :donc qui se trouve dans mon dossier utilisateur donc dans .slash user .slash tbash calculator.uion va dire où est-ce qu'on souhaite le mettre donc on va mettre "-o". Et ensuite le chemin vers
00:02:31 :le fichier Python qui n'existe pas pour l'instant mais qui va être créé donc je vais mettre .slashuser .slash tbash .slash calculator.py cette fois ci. Donc c'est le fichier Python qu'on souhaite
00:02:41 :générer et ensuite on va spécifier donc avec l'option "-g", qu'on souhaite créer un fichierPython. Donc je valide avec entrée et normalement si je reviens dans mon explorateur on devrait
00:02:51 :avoir ici un fichier Python donc c'est bien le cas. Je vais l'ouvrir dans Visual Studio Codepour vous montrer à quoi ça ressemble et vous voyez ici qu'on a notre code qui a été générédonc ça nous dit from generated from reading ui file calculator.ui. Et là vous retrouvez
00:03:06 :l'avertissement qui dit qu'il ne faut pas changer quoi que ce soit ici et donc c'est logique puisquesi vous commencez à faire des modifications directement dans ce fichier et que par lasuite vous modifiez votre interface via l'interface de Qt Designer et que vous régénérez donc lefichier Python et bien tous les changements que vous aurez fait dans ce fichier Python vont être
00:03:24 :perdus puisque le fichier sera régénéré. Vous remarquez également qu'il y a pas mal de chosesici comme je vous disais qui sont superflues notamment les 7 object names donc à chaquefois il va donner un nom qui est le nom que l'on retrouve dans le object inspector ici donc il va
00:03:38 :nommer chacun des widgets ce n'est pas quelque chose qui est très utile dans notre cas mais vousvoyez qu'on a ces lignes qui sont là tout de même. On va également avoir des propriétés qu'on avait
00:03:46 :remises à leur état d'origine le set flat notamment on l'avait modifié pour le mettre à true donc audépart j'avais modifié tous les boutons ici pour qu'il soit plat qu'il n'y ait pas en fait labordure autour et après j'avais décoché cette option et donc même si je reviens à une option
00:04:01 :d'origine vous voyez qu'il a quand même dans sa tête en fait il s'est quand même dit bah en faitil remet un set flat à false ce qui est le comportement par défaut donc cette ligne onpourrait l'enlever puisque par défaut les boutons sont à false pour le paramètre flat. Donc vous
00:04:14 :voyez il y a pas mal de choses comme ça qui sont un peu superflues ça fait vraiment une interfacequi n'est pas forcément très lisible ça peut être pratique comme je vous disais des fois pouraller voir par exemple quelques propriétés vous allez voir sur le size policy par exemple quel
00:04:28 :est le nom de la classe qui va être utilisé donc vous pouvez aller voir les imports dansquel module se trouvent ces différents imports le size policy etc donc ça peut être pratique maisvous voyez que ça fait quelque chose qui n'est pas forcément très agréable à l'oeil et qui
00:04:39 :n'est pas très efficace par rapport à ce que nous on pourrait faire directement avec du code.Donc voilà comment convertir votre interface vous pouvez bien sûr automatiser ce processusen ayant un script bash qui va automatiquement à chaque fois que vous sauvegardez le fichierd'interface UI le convertir en Python pour ne pas avoir à faire ça à la main à chaque fois
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.