Bonjour,
J'ai essayé de juste mettre en avant la partie qui ne marche pas.
Quand je clique sur le bouton pour décaler à droite, mon programme ne le fait que 1 fois et je n'arrive pas à comprendre pourquoi :
Quand je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 from tkinter import * from math import * class Sphere(object): def __init__(self): self.fen = Tk() self.can = Canvas(self.fen, width=500, height=500, bg='white') self.can.pack() self.sphere() Button(self.fen, text='->', command=self.droite1).pack(side=LEFT) self.fen.mainloop() def sphere(self): self.x1 = 100 self.y1 = 100 self.astre1 = self.can.create_oval(self.x1, self.y1, self.x1 + 40, self.y1 + 40, fill='red') def bouge(self,h,g,x,y,astre): x += h y += g self.can.coords(astre, x, y, x + 40, y + 40) def droite1(self): self.bouge(10,0,self.x1,self.y1,self.astre1) a = Sphere()Je n'ai aucune soucis..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 from tkinter import * from math import * class Sphere(object): def __init__(self): self.fen = Tk() self.can = Canvas(self.fen, width=500, height=500, bg='white') self.can.pack() self.sphere() Button(self.fen, text='->', command=self.droite1).pack(side=LEFT) self.fen.mainloop() def sphere(self): self.x1 = 100 self.y1 = 100 self.astre1 = self.can.create_oval(self.x1, self.y1, self.x1 + 40, self.y1 + 40, fill='red') def bouge(self,h,g): self.x1 += h self.y1 += g self.can.coords(self.astre1, self.x1, self.y1, self.x1 + 40, self.y1 + 40) def droite1(self): self.bouge(10,0) a = Sphere()
Merci
Bonne soirée
Partager