Comment fermer une fenêtre tkinter sans bouton?

Fermé
Jonathan_2_7364 Messages postés 46 Date d'inscription mercredi 21 décembre 2022 Statut Membre Dernière intervention 12 février 2023 - Modifié le 3 janv. 2023 à 14:48
yg_be Messages postés 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 - 4 janv. 2023 à 19:22

Bonjour

J'aimerais savoir s'il était possible de fermer une fenêtre tkinter sans bouton. J'ai créer une image grâce à PhotoImage, et sur cette image il y a des boutons. Je détecte l'emplacement de la souris grâce au module mouse, voici mon code:

fenetre = Tk()
Positions = {'x':0, 'y':0}
Position = mouse.get_position()
if mouse.is_pressed():
   Position = mouse.get_position()
   Positions = {'x':Position[0], 
   'y'=Position[1]}
   if Positions.get('x') <= 902 and       
   Positions.get('y') <= 720:
       fenetre.destroy()
   

Mais ça ne fonctionne pas

Merci

A voir également:

3 réponses

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
3 janv. 2023 à 14:59

Bonjour,

Fermer une fenêtre Tkinter sans bouton:

En cliquant la croix

1
Jonathan_2_7364 Messages postés 46 Date d'inscription mercredi 21 décembre 2022 Statut Membre Dernière intervention 12 février 2023
3 janv. 2023 à 15:26

Oui, mais la fenêtre est en plein écran, donc...

0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168 > Jonathan_2_7364 Messages postés 46 Date d'inscription mercredi 21 décembre 2022 Statut Membre Dernière intervention 12 février 2023
3 janv. 2023 à 17:43

je plaisante ...

0
yg_be Messages postés 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 Ambassadeur 1 538
3 janv. 2023 à 16:07

bonjour, peux-tu partager un code que nous puissions tester?  ton code contient plusieurs erreurs.

0
yg_be Messages postés 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 Ambassadeur 1 538
3 janv. 2023 à 16:19

un exemple qui fonctionne:

import tkinter
import mouse
import time
fenetre = tkinter.Tk()
fenetre.update()
time.sleep(5)
if mouse.is_pressed():
   print("is pressed")
px,py = mouse.get_position()
print(px,py)
if px <= 902 and py <= 720:
   print("destroy")
   fenetre.destroy()
time.sleep(5)
print("fini")
0

Bonsoir, complexe pour un truc qu'on fait avec un simple événement.

import tkinter

def quitter(evt):
    if evt.x < 50 and evt.y < 50:
        print(evt.x, evt.y)
        # fenetre.destroy()

fenetre = tkinter.Tk()
fenetre.bind('<Motion>', quitter)
fenetre.mainloop()

Commenter le print et décommenter le destroy pour fermer la fenêtre lors du survol du carré haut gauche de 50px.

À Jonathan_2_7364 d'ajuster les coordonées de la fenêtre de son aplication.

0
Jonathan_2_7364 Messages postés 46 Date d'inscription mercredi 21 décembre 2022 Statut Membre Dernière intervention 12 février 2023
4 janv. 2023 à 18:18

Peut tu expliquer le quitter(evt) car je ne comprend pas trop...

0
yg_be Messages postés 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 1 538 > Jonathan_2_7364 Messages postés 46 Date d'inscription mercredi 21 décembre 2022 Statut Membre Dernière intervention 12 février 2023
4 janv. 2023 à 18:34

Tu devrais plutôt d'abord t'intéresser au bind() en ligne 9.  Suite à cela, la fonction quitter() est appelée chaque fois que la souris est déplacée dans la fenêtre.

0
Jonathan_2_7364 Messages postés 46 Date d'inscription mercredi 21 décembre 2022 Statut Membre Dernière intervention 12 février 2023 > yg_be Messages postés 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024
4 janv. 2023 à 19:04

Désolé mais je suis débutant et je ne comprends rien a ce code. Pourrais tu me l'expliquer? en détail

0
yg_be Messages postés 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 1 538 > Jonathan_2_7364 Messages postés 46 Date d'inscription mercredi 21 décembre 2022 Statut Membre Dernière intervention 12 février 2023
4 janv. 2023 à 19:22

C'est normal de ne pas comprendre.  Si tu veux progresser et comprendre tkinter, je te suggère plutôt de lire ceci: http://tkinter.fdex.eu/doc/event.html

0