- 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 :Maintenant qu'on a notre propre classe pour la fenêtre principale, on va pouvoir l'étoffer un peu en rajoutant différents widgets.Donc moi j'utilise toujours la même structure que je vais vous montrer tout de suite,et cette structure on va la sauvegarder dans ce qu'on appelle dans PyCharm un live template,
00:00:15 :donc qui est en fait un snippet qu'on va pouvoir réutiliser pour toutes nos applications,puisque vous allez voir en fait moi j'aime bien découper ça en plusieurs méthodes qui vont créer les widgets,les layouts, les connexions et tout ça donc qui est très particulier à PySci,je vous montre ça tout de suite.
00:00:29 :Et donc c'est quelques méthodes, il y en a 5 ou 6 en tout, c'est un peu long à écrire à chaque fois,donc je vais vous le montrer une fois, on va en faire un template,et ce template on pourra l'utiliser comme ça pour chaque nouveau projet.
00:00:39 :Donc la première méthode qu'on va créer, je vais l'appeler setup underscore UI.On n'oublie pas de mettre le self à chaque fois ici en premier argument,par défaut PyCharm normalement vous l'ajoute automatiquement dès que vous mettez une parenthèse,donc c'est quelque chose de très pratique, je me suis vraiment habitué à ça,
00:00:54 :et quand je retourne sur un autre éditeur de texte, j'oublie souvent de mettre le self puisque PyCharm me le fait automatiquement.Donc n'oubliez pas si vous avez un autre éditeur de texte de bien renseigner le self comme premier argument ici.
00:01:04 :Donc cette méthode setup UI, elle va en fait tout simplement appeler d'autres méthodes qu'on va créer tout de suite,donc les méthodes que je crée tout le temps, moi c'est create widget,donc dans laquelle on va créer les widgets,ensuite on va avoir une méthode modify widget,qui va nous permettre de modifier si besoin les widgets qu'on aura créé précédemment,
00:01:21 :donc par exemple pour changer la couleur d'un bouton, changer sa taille, etc.Ensuite on va avoir create layout, dans lequel on va créer tous les layouts,ensuite on va ajouter ces widgets dans différents layouts,donc on va avoir une méthode add widget to layout,et pour finir on va avoir une méthode dans laquelle on va faire toutes les connexions,
00:01:39 :donc les connexions c'est par exemple quand on clique sur un bouton, ça va effectuer une action,quand on clique dans un élément dans une liste, ça va faire une autre action, etc.
00:01:46 :Donc toutes ces actions il va falloir les connecter à des méthodes à l'intérieur de notre classe.Donc cette méthode moi je l'appelle setup connections,et donc voilà les 5 méthodes qui vont nous permettre de créer l'entièreté de notre interface graphique.
00:01:57 :Donc ça c'est vraiment ma façon de faire comme je vous dis,c'est pas quelque chose que vous trouverez forcément ailleurs sur le web,c'est moi au fil des années qui ai en fait toujours utilisé cette façon de faire,puisque je la trouve simple, j'ai jamais besoin de faire plus,
00:02:09 :souvent je crée des widgets, je les modifie, ensuite je crée des layouts,j'ajoute les widgets dans les layouts, et je finis par faire les connexions.
00:02:16 :Je sais que j'ai des amis qui préfèrent par exemple créer les layouts directementdans la même méthode que celle où ils créent les widgets,puisqu'ils considèrent les layouts un peu comme des widgets,donc là c'est à vous de voir comment vous préférez organiser votre application,ça c'est vraiment une question de préférence.
00:02:30 :Donc cette méthode setup UI, elle va juste appeler toutes ces autres méthodes dans l'ordredans lequel on les a indiquées ici, donc il va falloir par la suite créer ces méthodes.
00:02:38 :Je vais juste ici l'appeler, donc ce setup UI,donc en faisant self setup UI, pour que dès qu'on initialise notre main window,donc quand on crée l'instance ici dans le fichier main,quand on fait window égale main window,et bien directement dans l'initialisation, on va changer le titre de l'application,
00:02:54 :et on va appeler la méthode setup UI qui va setuper toute l'interface graphique de notre application.Donc toutes ces méthodes, il va falloir les créer.
00:03:01 :Donc pour faire ça rapidement dans PyCharm, vous cliquez en fait sur la molette de votre souris,et vous descendez, et vous voyez qu'automatiquement ça va créer plusieurs curseurs comme ceci.
00:03:10 :Donc on descend ici sur les cinq lignes,et ensuite on va pouvoir faire POM ou CTRL W,pour automatiquement étendre notre sélection au nom de la méthode.
00:03:20 :Donc comme ça, ça permet de sélectionner rapidement tout le nom des méthodes.Donc je fais ensuite POM C pour copier ces méthodes,je descends ici, et là je vais faire POM V pour coller le nom de toutes ces méthodes.
00:03:31 :Je refais un multicurseur avec la molette de ma souris,donc je clique et je descends, et cette fois-ci je vais mettre le mot DEF devant,j'appuie sur POM et la flèche de droite pour aller tout au bout de la ligne,et je vais mettre une parenthèse, et automatiquement vous voyez que le self est rajouté.
00:03:46 :J'appuie deux fois sur la flèche de droite pour aller à la fin de la ligne,j'appuie sur ENTRER pour rajouter une ligne, et pour l'instant je vais juste mettre PASS.
00:03:52 :Donc puisqu'on est obligé de mettre quelque chose à l'intérieur des méthodes,sinon on aura une erreur, mais pour l'instant je ne vais pas créer des widgets tout de suite,donc il faut que je mette quelque chose,et ce quelque chose c'est le mot PASS qui veut dire tout simplement qu'on ne fera rien,
00:04:04 :mais au moins on a une ligne de code, donc un bloc à l'intérieur de nos méthodes.Donc voilà une petite façon rapide de créer plusieurs méthodes à partir des méthodes qu'on a appelées ici,et donc ça c'est vraiment le squelette de mon application,la méthode SETUPUI qui va appeler toutes ces méthodes,
00:04:18 :donc CREATEWIDGETS, MODIFYWIDGETS, CREATELAYOUT, ADDWIDGETSTOLAYOUT et SETUPCONNECTIONS.Donc c'est tout ça ici qu'on va mettre à l'intérieur d'un live template,puisque c'est un peu long comme vous le voyez à écrire à chaque fois,donc on va mettre tout ça à l'intérieur d'un live template dans PyCharm.
00:04:32 :Donc la première chose qu'on va faire c'est copier tout ce texte,donc je vais faire POM A pour copier tout le texte et POM C pour copier ce texte,donc CTRL A et CTRL C sur Windows,et on va aller dans les préférences de PyCharm,donc dans PyCharm ici préférences,
00:04:46 :et le live template, alors je ne sais plus exactement où c'est,et dans PyCharm vous avez une petite barre de recherche qui est très pratique ici,donc on va taper live template,et automatiquement vous voyez que ça va filtrer les préférences ici,et on retrouve live template.
00:04:58 :Et on peut créer des templates pour différents langages de programmation,donc on a par exemple HTML, du shell script, donc pour les terminaux,et on va avoir Python ici qu'on peut dérouler.
00:05:08 :Vous voyez qu'on a pas mal de templates qui sont déjà utilisés,par exemple main qui nous permet de créer cette fameuse instruction iciqui permet d'exécuter un code uniquement quand on roule le module directement,donc ça vous connaissez si vous avez déjà fait un peu de Python,super qu'on retrouve ici, qu'on a utilisé tout à l'heure,
00:05:24 :donc on a plein de templates comme ça qui existent déjà.On va cliquer sur Python, et on va cliquer sur le petit plus icipour ajouter un nouveau template à Python.
00:05:31 :Donc on va cliquer sur live template,qui va nous permettre d'ajouter un live template à Python.L'abréviation, eh bien je vais mettre setup UI,et à l'intérieur ici de template text,on va coller le code qu'on a copié précédemment,donc je fais pomme V ou contrôle V sur Windows,
00:05:47 :pour coller tout le code que j'avais ici.Donc là vous voyez que c'est pas très pratique,on a quelque chose d'assez gros,donc je vais juste en fait modifier légèrement le codepour enlever le setWindowTitle ici,puisque je ne suis pas sûr de vouloir le mettre forcément ici directement,
00:06:00 :donc je vais l'enlever, et en fonction des applications,peut-être qu'on le mettra ailleurs,donc voilà je veux juste enlever cette ligne,sinon tout le reste c'est bon,on a bien le setup UI avec toutes les méthodes qui sont appeléeset qui pour l'instant sont vides,on a l'import de Qt Widgets au début qu'on veut garder,
00:06:14 :et notre classe avec la méthode init.Donc c'est parfait, on a notre live template qui a été créé,et je vais pouvoir l'appliquer en cliquant sur OK,et on va tester si notre template marche.
00:06:23 :Donc je reselectionne l'entièreté de mon script avec pomme A,je supprime tout, je vais taper setup underscore UI,alors là vous voyez qu'on n'a pas l'autocomplétion,donc c'est qu'il doit y avoir un problème,et je pense que c'est parce que je n'ai pas spécifié de contexte.
00:06:34 :Donc si on revient ici, vous voyez effectivement,no applicable context, donc il faut en définir un,on va cliquer, et on va dire qu'on veut exécuter ça à l'intérieur de Python.
00:06:43 :Donc on clique sur Python ici,et ça va faire en sorte que ce live template sera disponibleà l'intérieur des fichiers Python.Donc je réessaye, je fais setup,et là vous voyez que j'ai bien mon live template qui apparaît,donc setup UI, je peux appuyer sur entrée pour valider,
00:06:56 :et automatiquement ça va afficher tout le texte qu'on a rentré dans le live template.Donc ça va être très pratique pour les prochains projets,comme ça on pourra appliquer automatiquement ce templatepour créer la structure de base de notre applicationpour chaque projet qu'on va créer par la suite.
00:07:10 :Donc voilà pour notre application de base,et dans la prochaine partie,on va créer les widgets et les layouts de notre application d'exemplepour avoir quelque chose d'un peu plus sympathiqueque juste une fenêtre vide,et en même temps on va pouvoir réviser les concepts que sontles layouts, les widgets et les connexions,
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.