- 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 :Cette fois-ci, on va créer les widgets, le layout et ajouter les widgets à l'intérieurdu layout.On va utiliser la méthode createWidget, la méthode createLayout et la méthode addWidgettoLayout.
00:00:12 :La première chose qu'on va faire, c'est créer les widgets.On en avait trois, comme on l'a dit dans la partie précédente.Le premier, ça va être un bouton pour créer les notes.
00:00:19 :Je vais préfixer le nom des variables qui vont contenir mes widgets du nom du widget.Je mets un petit nom raccourci comme ceci, donc btn qui signifie bouton, et ce boutonça va être un bouton qui va me permettre de créer une note.
00:00:33 :Je l'appelle bouton-createNote.Ça va être égal à un qtwidget.qpushbutton et on va mettre tout simplement comme textedu pushbutton créer une note.Ensuite, on va faire un listwidget, donc self.lw, donc lw pour listwidget, note, qui va être
00:00:50 :égal à un qtwidget.qlistwidget.On ne met rien à l'intérieur des parenthèses, on n'a pas d'objet à ajouter pour l'instant,donc on fait juste créer un qlistwidget vide.
00:00:59 :Ensuite, on va avoir le qtextedit, donc là je vais mettre te pour textedit et je vaisl'appeler contenu, donc ça va être dans ce cas-ci un qtwidget.qtextedit.
00:01:09 :Dans ce cas-ci, on met également les parenthèses vides puisque le qtextedit va n'avoir aucuncontenu de base.Donc ça, c'est les trois widgets qu'on a créés.
00:01:17 :Vous voyez qu'ils sont tous contenus à l'intérieur de qtwidgets.On a donc le qpushbutton, le qlistwidget et le qtextedit.On va créer ici dans createLayout notre layout, donc je vais l'appeler tout simplement mainLayoutpuisque j'en ai qu'un seul et ça va être égal, là encore, à qtwidget et cette fois-ci
00:01:34 :qgridLayout.On va mettre les parenthèses et à l'intérieur des parenthèses, on va spécifier le parentdu layout.Donc ça, c'est très important de le spécifier, si vous ne mettez rien ici, le layout n'appartiendrapas à votre fenêtre et vous ne verrez donc rien.
00:01:47 :Donc on va mettre self ici, self qui correspond à ma fenêtre, alors là, je pense que jesuis encore avec un qmainWindow, donc je vais revenir avec un qwidget puisque je n'ai pasbesoin dans ce cas-ci d'une barre de menu ou d'une barre de statut, donc je vais tout
00:01:59 :simplement faire un qwidget qui est une fenêtre de base et donc à l'intérieur de ce qwidget,on va avoir un qgridLayout qui va être parenté à ce qwidget puisque on a mis self ici.
00:02:10 :Donc le premier paramètre de qgridLayout ici, c'est le parent et le parent, ça va êtrenotre qwidget.On va ensuite ici ajouter les widgets dans notre layout, donc pour ça, on va utiliserla méthode addWidget, donc self.mainLayout.addWidget, donc on ajoute le widget à l'intérieur
00:02:26 :de notre layout.Quel widget on va ajouter ? Eh bien le widget bouton createNode et on va l'ajouter aux coordonnéesqu'on avait dans la partie précédente, donc pour le bouton, on va être à 0 en X et 0en Y et on va avoir une taille de 1 par 1.
00:02:40 :Pour le listWidget, on va faire la même chose, donc self.mainLayout.addWidget, on vaajouter lwNote et on va l'ajouter à 1, 0, 1, 1, donc 1 c'est la coordonnée en hauteur,donc là on va descendre d'une case, 0 c'est en largeur et ensuite on va avoir la tailledonc de 1 par 1.
00:02:59 :Pour finir, on va ajouter le textEdit, donc encore une fois avec addWidget et on va ajouterdonc self.teContenu qui cette fois-ci va se retrouver à 0 et 1 pour les coordonnées
00:03:10 :et qui va avoir une hauteur de 2 et une largeur de 1.Donc voilà pour les coordonnées, donc c'est toutes les coordonnées qu'on a vues dansla partie précédente, aussi bien au niveau du positionnement, donc ça c'est les deuxpremières coordonnées ici, que de la largeur de notre widget, donc ça c'est les deux dernières
00:03:24 :coordonnées.Donc on va pouvoir tester notre application, on a créé les widgets, on a ajouté leswidgets dans notre layout que l'on a créé ici, on va vérifier qu'on appelle bien notreméthode setupUI ici, donc c'est bien le cas dans la méthode init, on appelle setupUI,setupUI va appeler toutes ses méthodes, donc on a des méthodes ici qui sont vides, ce
00:03:41 :n'est pas très grave, il va les appeler et il ne va tout simplement rien se passerà l'intérieur de ces méthodes, et on a bien donc createWidget, createLayout et addWidgetToLayoutqui vont créer notre interface.
00:03:51 :Alors attention, l'ordre est important ici, puisque vous voyez par exemple que l'on vacréer le layout et ensuite ajouter les widgets dans le layout, donc bien entendu il fautd'abord créer les widgets, ensuite il faut créer le layout et ensuite ajouter les widgetsdans le layout.
00:04:06 :Si vous inversez ces lignes par exemple, si vous prenez addWidgetToLayout et que vousla mettez juste avant createLayout, et bien ça ne va pas fonctionner puisque on va essayerd'ajouter un widget à un layout qui n'existe pas, donc c'est très important de conserverl'ordre ici, on crée les widgets, on les modifie si on a besoin de les modifier, généralement
00:04:22 :ce que je vais faire c'est même mettre le createLayout juste après le createWidgetpuisque dans modifyWidget il m'arrive de des fois modifier également les layouts, doncsi j'ai besoin de modifier les layouts il faut déjà qu'ils soient créés, donc c'estpour ça que je vais déjà avoir mes méthodes create, donc createWidget, createLayout, ensuite
00:04:39 :on va modifier ce qu'on a besoin de modifier, ajouter les widgets dans les layouts et pourfinir faire les connexions.Donc voilà pour l'interface, on va lancer notre script, donc on va recliquer ici surla petite configuration et sélectionner notre configuration launch pour lancer l'interfacegraphique.
00:04:55 :Donc par défaut ça nous ouvre une fenêtre toute petite comme ça puisque si on retournevoir le code, dans le fichier main on a par défaut un resize qui est exécuté donc quifait 250 par 150, donc ça résulte en une fenêtre assez petite comme ça, donc si vous
00:05:08 :voulez vous pouvez enlever le resize, je vais changer la taille de ma fenêtre iciet vous voyez qu'on a bien exactement la même chose que ce qu'on avait dans la partie précédente,donc un bouton ici, un listewidget qui va me permettre de lister les notes et un cuetexteditdans lequel je peux écrire et qui va ultimement contenir le contenu de la note.
00:05:25 :Donc on a notre interface avec les widgets qui sont créés et qui sont correctementajoutés à l'intérieur du layout et dans les prochaines parties on va pouvoir commencerà faire les connexions et à créer les méthodes pour que notre interface ne soit pas justeune interface statique mais qu'elle puisse nous permettre de créer et gérer.
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.