1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| #On importe Tkinter
from tkinter import*
#On crée une fenêtre Tkinter
mafenetre=Tk()
fenetreverte=Tk()
fenetrequoi=Tk()
#On charge l'image
photo=PhotoImage(file="image.gif")
#Création d'un widget Canvas (zone graphique)
Largeur=800
Hauteur=600
Canevas=Canvas(mafenetre, width=Largeur, height=Hauteur)
Canevas.pack()
#L'image est affichée dans le canevas
monimage=Canevas.create_image(0,0,anchor=NW,image=photo)
#On prépare le label qui affichera la position du clic
chaine=Label(mafenetre)
chaine.pack()
chaineverte=Label(fenetreverte)
chaineverte.pack()
#On crée les zones ovales et on les met en couleurs lors du survol de la souris
o1=Canevas.create_oval(0,15,400,280, width=0, activefill='green')
o2=Canevas.create_oval(420,110,800,390, width=0, activefill='red')
o3=Canevas.create_oval(5,350,560,600, width=0, activefill='blue')
#on crée un label (ligne de texte)
label1=Label(mafenetre, text = "Je m'appelle", fg='blue')
label1.pack()
#n crée un widget Entry (zone d'entrée de texte)
ma_zone_d_entree=Entry(mafenetre, bg='light sky blue', fg='maroon')
ma_zone_d_entree.pack()
#la fonction ci-dessous est appelée lors de l'action sur le bouton monbouton
def fonction_bienvenue():
nom=ma_zone_d_entree.get()
label2['text']="Amuse-toi bien " + nom + "!"
#On crée un bouton
monbouton=Button(mafenetre, text="Valider", command=fonction_bienvenue)
monbouton.pack()
#On crée un second label (texte vide pour le moment)
label2=Label(mafenetre, text="",fg='dark green')
label2.pack()
#On programme l'ouverture de la fenetre Verte
fenetresecondairedejaouverte=0
def fermerfenetreverte():
global fenetresecondairedejaouverte
fenetresecondairedejaouverte=0
fenetreverte.destroy()
def ouverturefenetreverte():
global fenetreverte, fenetresecondairedejaouverte
fenetreverte = Toplevel()
## Ouverture du fichier
imageverte = 'poubelles.gif'
## Remplace PhotoImage de Tkinter par celui de PIL
photo = PhotoImage(file=imageverte)
Canevas_fenetreverte=Canvas(fenetreverte, width=620, height=350)
monimage=Canevas_fenetreverte.create_image(0,0,anchor=NW,image=photo)
Canevas_fenetreverte.pack()
fenetreverte.protocol("WM_DELETE_WINDOW",fermerfenetreverte)
texte2=Label(fenetreverte, text="", fg='red')
texte2.pack()
bouton2 = Button(fenetreverte, text='FERMER',command=fermerfenetreverte)
bouton2.pack()
fenetreverte.mainloop()
#On programme l'ouverture de la fenetre quoi
fenetretroisiremedejaouverte=0
def fermerfenetrequoi():
global fenetretroisiremedejaouverte
fenetretroisiremedejaouverte=0
fenetrequoi.destroy()
def ouverturefenetrequoi():
global fenetrequoi, fenetretroisiremedejaouverte
fenetrequoi = Toplevel()
## Ouverture du fichier
imagequoi = 'quoi.gif'
## Remplace PhotoImage de Tkinter par celui de PIL
photo = PhotoImage(file=imagequoi)
Canevas_fenetrequoi=Canvas(fenetrequoi, width=620, height=350)
monimage2=Canevas_fenetrequoi.create_image(0,0,anchor=NW,image=photo)
Canevas_fenetrequoi.pack()
fenetrequoi.protocol("WM_DELETE_WINDOW",fermerfenetrequoi)
texte3=Label(fenetrequoi, text="", fg='red')
texte3.pack()
bouton3 = Button(fenetrequoi, text='FERMER',command=fermerfenetrequoi)
bouton3.pack()
fenetrequoi.mainloop()
#fonction appelée par le clic du bouton gauche de la souris
def position_pointeur(evenement):
chaine['text']="Clic détecté en X="+str(evenement.x)+",Y"+str(evenement.y)
if evenement.x>0 and evenement.x<400 and evenement.y>15 and evenement.y<280:
ouverturefenetreverte()
if evenement.x>420 and evenement.x<800 and evenement.y>110 and evenement.y<390:
ouverturefenetrerouge()
if evenement.x>5 and evenement.x<560 and evenement.y>350 and evenement.y<600:
ouverturefenetrebleue()
#On écoute cette fois le bouton gauche de la souris
mafenetre.bind("<Button-1>", position_pointeur)
#fonction position sur la fenetre verte
def position_fenetreverte(evenement2):
chaineverte['text']="Clic détecté en X="+str(evenement2.x)+",Y"+str(evenement2.y)
if evenement2.x>0 and evenement2.x<600 and evenement2.y>0 and evenement2.y<350:
ouverturefenetrequoi()
fenetreverte.bind("<Button-1>", position_fenetreverte)
#On démarre la boucle Tkinter qui s'interrompt quand on ferme la fenêtre
mafenetre.mainloop() |
Partager