- 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 :Dans cette partie, on va gérer le déplacement de notre fenêtre pour l'afficher en dessous de l'icône qui est dans la barre des tâches.Donc ce que je vais faire, c'est créer une méthode, je vais la mettre à la fin ici, et je vais l'appeler centerUnderTray.
00:00:21 :Donc on va faire un peu de maths, et comme je vous disais, ça va être différent selon votre plateforme.Donc là, il va falloir adapter votre code. Moi, je vais le montrer sur macOS, puisque c'est le système d'exploitation que j'utilise.
00:00:32 :Mais si vous êtes sur Windows, donc il faudra probablement faire un plus au lieu d'un moins ou des trucs du genre.Donc là, c'est vraiment juste des maths de base pour pouvoir déplacer notre application en fonction des coordonnées de notre écran.
00:00:43 :Donc les coordonnées, par exemple, moi dans ce cas-ci, l'écran de mon MacBook, c'est du 1920 par 1200.Et la coordonnée XY, donc si on est en haut à gauche, ça va être 0,0. Et si on est en bas à droite, ça va être 1920 par 1200.
00:00:55 :Et après, vous allez faire des maths comme ça. On va voir ça tout de suite. On va récupérer la taille de l'application,et on va la déplacer et la décaler en fonction de sa taille pour qu'elle se retrouve en dessous de l'icône.
00:01:05 :Donc à l'intérieur de ma méthode centerUnderTray, je vais déjà récupérer la position en X de mon icône.Donc la position en X, ça va être la position sur la largeur de mon écran.
00:01:22 :Donc on va savoir où elle se positionne, et on va pouvoir décaler notre fenêtre en conséquence.Donc pour ça, je vais récupérer la géométrie déjà de mon icône. Donc on va faire self.tray.géométrie.
00:01:33 :Ça, ça va me retourner la géométrie de mon icône. Donc c'est les coordonnées, en fait, si vous voulez, et la taille de mon icône.Et à partir de cette géométrie, on peut récupérer sa position en X tout simplement avec la méthode X.
00:01:45 :Si on veut la position en Y, on peut faire Y, et ça nous retourne la position en Y tout simplement.Donc on va récupérer ça dans une variable qu'on va appeler trayX, et on va récupérer ensuite la taille de mon application.
00:01:57 :Donc je ne sais pas si vous vous souvenez de sizeHint. On l'avait utilisé pour notre custom listWidgetItem ici, donc notre taskItem,pour récupérer la taille en largeur et en hauteur de notre listWidgetItem.
00:02:18 :Donc ça, on va le récupérer dans deux variables qu'on va appeler W et H, sauf que le problème, c'est que pour l'instant, sizeHint, ça ne retourne non pas deux valeurs,non pas un topole qui contient la largeur et la hauteur, mais ça nous retourne une instance de QSize.
00:02:37 :Donc le problème, c'est que QSize, on ne peut pas le récupérer comme ceci dans une affectation parallèle, mais on a de la chance,on a une méthode qui a été prévue pour ça à l'intérieur de QSize qui s'appelle toTopole.
00:02:55 :Donc si je print un W et H ici, j'aurai bien la largeur et la hauteur de mon application.Donc là, on a tout ce qu'il nous faut, on a la position en X de notre icône, donc pour savoir où elle se trouve sur mon écran,et on a la largeur et la hauteur de notre application.
00:03:10 :Donc pour déplacer mon application, je vais utiliser tout simplement la méthode Move, et on va lui donner deux coordonnées en X et en Y.Donc par exemple, je pourrais mettre 0, 0, et pour l'instant, je vais appeler cette méthode directement dans le init.
00:03:23 :Donc après le init ici, je vais faire un self.center under tray pour pouvoir déplacer mon application au moment où je lance mon interface.Donc je lance l'application pour vérifier, et vous voyez qu'automatiquement, on se retrouve donc avec ma fenêtre qui se retrouve aux coordonnées 0, 0.
00:03:38 :Donc là, on est tout en haut à gauche de notre écran.Nous, ce qu'on va vouloir faire, c'est déplacer en X pour être là où se trouve l'icône dans la barre des tâches.
00:03:46 :Donc on va faire tray X, et je vais lancer l'application.Alors là, comme je vous dis, c'est vraiment de l'essai à erreur.Il faut vraiment essayer votre code.
00:03:54 :Vous allez voir tout de suite où se trouve votre application, et vous pouvez comme ça, que ce soit sur Mac ou sur Windows,ajuster le positionnement de votre application pour qu'il se retrouve bien en dessous de l'icône.
00:04:04 :Donc là, on voit qu'on a un petit problème, puisqu'on a l'application qui n'est pas en dessous de l'icône.Donc ce qu'il va falloir faire, et c'est pour ça qu'on a récupéré ici la largeur, c'est soustraire la largeur de l'application de cette variable X.
00:04:17 :Le problème, c'est que si je soustrais W, donc la largeur de mon application complète, et que je relance,vous allez voir que là, on se retrouve avec l'application qui se termine directement après mon icône.
00:04:28 :Donc ça peut être ce que vous voulez, ça peut être le comportement qu'on attend.Si vous voulez que votre application s'arrête directement sur l'icône, vous ne touchez plus rien, et ça fonctionne.
00:04:37 :Moi, j'aimerais bien quand même centrer cette fenêtre pour que le centre de ma fenêtre se retrouve au centre de l'icône.Donc ce que je vais faire, c'est diviser cette largeur par 2, tout simplement.
00:04:46 :Et comme ça, on va enlever la largeur divisée par 2 à notre coordonnée en X.Donc j'arrête mon application, je la relance, et là, automatiquement, vous voyez qu'on a une application qui est déjà plus centrée.
00:04:57 :Ensuite, ce qu'il va nous rester à faire, alors là, je vais juste fermer mon application,ce qu'il va nous rester à faire, c'est de déplacer sur l'axe des Y notre application.
00:05:10 :Donc par exemple, si je mets 50, vous allez voir qu'on va être un peu trop loin.Donc là, on est vraiment en dessous de mon icône avec un peu trop de marge,puisqu'on voit en dessous, ici, la barre des tâches de PyCharm.
00:05:22 :Donc là, 50, c'est trop, et alors là, comme je vous disais, il faut y aller un peu au pif,il faut essayer, et vous regardez, donc là, 25, ça semble pas mal.
00:05:30 :Et donc, on se retrouve bien avec, cette fois-ci, mon application qui se retrouve juste en dessous de mon icône.Donc c'est parfait, comme je vous disais, sur Windows, il faudra adapter,puisque probablement qu'ici, on ne mettra pas juste 25, mais sur Windows, je pense qu'il faudra mettre la hauteur,
00:05:44 :puisqu'en fait, on va avoir la barre des tâches qui va être en bas.Donc nous, on part de 0 ici, et on ajoute une petite marge qui nous permet d'avoir la fenêtre qui est décalée à partir du haut,mais sur Windows, il faudra probablement récupérer la position en Y,
00:05:59 :donc là, on a récupéré X, mais il faudra probablement récupérer la position en Y,et il faudra ensuite enlever la hauteur à cette position, pour qu'on ait une fenêtre qui se retrouve en bas plutôt qu'en haut.
00:06:09 :Donc là, comme je vous dis, c'est un peu des maths, je vais essayer quand même de faire une partie sur Windows,pour le faire sur Windows si jamais vous êtes perdus,pour qu'on essaie de faire ça ensemble si jamais vous êtes perdus avec le côté mathématique de la chose.
00:06:21 :Mais vous voyez que c'est vraiment juste prendre les coordonnées, les modifier,récupérer donc à la fois la coordonnée de l'icône, la taille de notre application,et ça nous permet d'avoir quelque chose qui est au bon endroit.
00:06:33 :Donc voilà pour l'icône dans la barre des tâches,donc vous voyez on a fait ça en trois parties,déjà on ajoute l'icône, ensuite on gère le clic sur l'icône,et pour finir on déplace notre application pour la mettre au bon endroit,donc c'est pas très très compliqué,mais ça permet vraiment de faire des applications très sympas,
00:06:48 :puisqu'on a souvent des choses comme ça qu'on a besoin de garder dans la barre des tâches,qu'on veut juste faire apparaître de temps en temps,donc c'est très pratique ce genre d'application, vous voyez j'ai pas mal d'applications qui sont comme ça ici,donc ça prouve que c'est quelque chose qui est assez utile et demandé.
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.