- 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 créé notre interface, on va connecter les différents widgets à des méthodes que l'on a créées à l'intérieur de notre classe.Donc ces méthodes, je viens de les créer. Je les ai déjà créées par avance pour ne pas avoir à tout taper devant vous puisque ce n'est pas très intéressant.
00:00:14 :Donc pour l'instant, c'est juste des méthodes qui contiennent des prints. Les prints vont nous permettre d'avoir un visuel.Par exemple, quand on va cliquer sur le bouton pour créer une note, on va afficher cette phrase création d'une nouvelle note.
00:00:24 :Donc dans les prochaines parties, on verra vraiment le code qu'on va mettre à l'intérieur de ces méthodes.Pour l'instant, on va juste s'occuper de la connexion des widgets à ces méthodes.
00:00:32 :Donc on a plusieurs méthodes ici. La première, createNote, qui va me permettre de créer une note.Une méthode ici pour supprimer la note qui est sélectionnée. Donc ça, on va le lier à un raccourci clavier.
00:00:42 :On va avoir populateNote qui va être appelé directement dans la méthode init et qui va charger les notes depuis le disque.Donc ça va les ajouter dans le liste widget. On va avoir populateNoteContent qui va nous permettre de charger le contenu de la note.
00:00:55 :Donc ça, ça va être quand on va cliquer sur une note dans le liste widget, on va afficher son contenu dans le QtextEdit.Et pour finir, on va avoir une méthode saveNote qui va me permettre de sauvegarder la note.
00:01:05 :Donc cette méthode, elle va être appelée automatiquement à chaque fois qu'on va écrire du texte dans le QtextEdit.Donc on n'aura pas de bouton pour sauvegarder. En fait, c'est directement quand on écrit, ça va sauvegarder.
00:01:14 :À chaque fois qu'on ajoute ou qu'on enlève un caractère dans le QtextEdit, la sauvegarde va se faire automatiquement.Donc c'est pas forcément la meilleure chose puisque ça peut être un petit peu lent.
00:01:23 :C'est-à-dire que si on tape vite du texte, on va avoir des sauvegardes qui vont être faites très souvent.Mais bon, ça permet au moins d'éviter d'avoir à faire un save. Donc c'est un save automatique si vous voulez.
00:01:33 :Alors à vous de voir si vous préférez ajouter un bouton pour faire la sauvegarde ou faire cette méthode comme moi je vais vous montrerqui permet de sauvegarder automatiquement les notes à chaque fois qu'on change le texte de la note.
00:01:44 :Donc je vous laisse créer toutes ces méthodes avec les prints et on va connecter à l'intérieur de SetupConnections les widgets à ces méthodes.Donc la première chose qu'on va faire, c'est la méthode qui va nous permettre de créer une note.
00:01:56 :Donc ça, on va le connecter au signal clict de notre bouton. Donc self.bouton.createNote.Le signal, c'est clict et on va connecter ce signal à la méthode createNote.
00:02:06 :Encore une fois, attention, ne mettez pas de parenthèses ici puisque si vous mettez les parenthèses, vous allez automatiquement appeler cette méthode.Donc c'est-à-dire que quand on va lancer notre interface, lorsqu'il va faire la connexion, il va appeler cette méthode et on va donc créer une notedirectement en lançant notre interface. Donc c'est vraiment pas ce qu'on veut. Nous, on veut juste dire que cette méthode va être appelée
00:02:25 :quand on va cliquer sur le bouton. Donc on renseigne le nom de la méthode ici mais on ne l'appelle pas pour l'instant.C'est vraiment uniquement lorsque le signal sera déclenché que la connexion va se faire.
00:02:34 :Donc on va juste faire cette connexion pour l'instant et on va lancer notre interface pour voir si ça fonctionne.Donc je vais juste réduire PyCharm ici, cliquer sur la petite flèche verte pour lancer mon interface et je vais aussi en profiter pour enlever le resizequi me dérange un peu. Donc je coupe cette ligne, je relance et le resize ne sera plus là puisque c'était un peu embêtant d'avoir une petite fenêtre comme ceci.
00:02:55 :Donc on a notre application, je vais cliquer sur le bouton pour voir si ça fonctionne et là vous voyez qu'on a bien le print qui s'affiche,c'est à dire que la connexion fonctionne correctement. Donc on a bien quand on clique sur le bouton le print qui est affiché,
00:03:08 :donc la méthode qui est correctement exécutée. On va ensuite faire la connexion entre le QTextEdit et la méthode SaveNote.Donc ça c'est quand on va taper du texte à l'intérieur du QTextEdit et le nom du signal ça va être TextChange.
00:03:37 :Donc à l'intérieur de mon QTextEdit ici je vais taper du texte et là vous voyez qu'à chaque fois qu'on tape du texte on a bien un print qui se faitet qui nous dit que la note a été sauvegardée. Donc ça fonctionne pour cette connexion et les prochaines connexions qu'on va faire ça va être
00:03:51 :la connexion qui va nous permettre de charger le contenu de la note et de supprimer une note.Donc pour l'instant on n'a aucune note qui est chargée dans notre interface. Quand on lance ici notre application dans le ListWidget il n'y a rien.
00:04:10 :Donc on va mettre des trucs un peu aléatoires si vous voulez. On va faire self.ListWidgetNotes.AddItem et on va ajouter des éléments.Je vais mettre AddItems carrément donc avec un S qui va me permettre d'ajouter directement plusieurs éléments d'un coup.
00:04:38 :cette ligne de code avant le SetupUI et bien ma ListWidget n'existera pas puisque c'est à l'intérieur du SetupUI qu'on appelle la méthode CreateWidgetqui va créer le ListWidget. Donc il faut bien mettre ça ici après le SetupUI. Donc on va tester tout ça, on va lancer notre application et
00:05:01 :signaux que je veux créer donc à savoir le signal sur le ListWidget pour commencer. Donc on va faire self.ListWidgetNotes et le signal cette fois-ciça va être ItemSelectionChange. Donc c'est quand on va changer la sélection de l'item dans la ListWidget que ce signal va être appelé.
00:05:18 :Donc on va connecter ça à self.PopulateNotesContent. Là encore on enlève les parenthèses et on va vérifier si ça fonctionne. Donc normalementquand on va changer de sélection dans notre ListWidget on va avoir ce texte qui va être affiché donc le texte Chargement du contenu de la note.
00:06:17 :qui est contenu lui aussi à l'intérieur de CueTWidget. Donc CueTWidget.CueShortCut et à l'intérieur de ce CueShortCut on va avoir premièrement unCueKeySequence. Donc là vous voyez ici on a un petit pop-up qui apparaît et qui nous dit les différents arguments que l'on attend à l'intérieur de
00:06:32 :CueShortCut. Donc la première chose c'est un CueKeySequence. Donc le CueKeySequence c'est tout simplement le raccourci clavier que je vais utiliser pourconnecter ce CueShortCut. Donc on va créer un CutieGUI.CueKeySequence. Alors CutieGUI on ne l'a pas importé. Alors il y a certaines choses dans
00:06:58 :certaines choses sont dans CutieGUI et d'autres dans CutieWidget. C'est assez aléatoire je trouve mais CueKeySequence lui se retrouve à l'intérieur deCutieGUI. Donc là on a bien une erreur qui est affichée par PyCharm. Si on va voir tout en bas ici vous voyez que c'est marqué UnresultReferenceCutieGUI.
00:07:21 :ma fonction ici, donc dans ma méthode SetupConnections, vous voyez que l'erreur a disparu. Donc CutieGUI.CueKeySequence et on va passer à CueKeySequencela séquence, donc le raccourci clavier qu'on veut utiliser. Donc dans ce cas-ci ce n'est pas une séquence, c'est tout simplement une touche et la touche
00:07:36 :ça va être BackSpace. Donc BackSpace c'est la touche supprimée sur votre clavier. Ensuite on va spécifier à quel widget on veut lier ce shortcut.Donc le shortcut on veut le lier à notre ListWidget, donc ça va être Self.ListWidgetNotes et on va en troisième argument lui passer la méthode qu'on veut
00:07:54 :appeler quand le shortcut va être détecté. Donc cette méthode c'est Self.DeleteSelectedNotes. Là encore on n'oublie pas d'enlever les parenthèses à la fin puisqu'on neveut pas appeler cette méthode, on veut juste la connecter. Donc le CueKeySequence qui correspond au raccourci clavier, le widget sur lequel on veut
00:08:23 :mais dans les prochaines parties on verra comment à l'intérieur de cette méthode supprimer la note quand on va appuyer sur la touche Delete.Donc voilà pour les connexions, il n'y en a pas plus que ça. On a vraiment tout ce dont on a besoin ici à l'intérieur de SetupConnections. La dernière
00:09:19 :je laisse bien les parenthèses puisque je ne veux pas faire une connexion, je veux vraiment appeler cette méthode. Donc on laisse les parenthèses pourappeler la méthode et on le met tout de suite après SetupUI. Donc normalement quand je lance mon application automatiquement on va avoir le print ici qui va
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.