Bonjour,
Je suis nouveau dans python, et j'aimerai savoir pourquoi ce code ne fonctionne pas.
J'ai essayé de faire la boule qui rebondit sur les 4 coins de l'écran, mais je me suis heurté à un gros problème:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
from Tkinter import * 
from time import * 
 
def initialize(title = 'MonApplication'):
  global app
  app = Tk()
  app.title(title)
  app.geometry('400x420')
 
  #Canvas
  global can
  can = Canvas(app, width = 400, height = 400, bg = 'green')
  can.pack()
 
  #Label
  new = Label(app,text = 'Appuyer sur N pour demarrer')
  new.pack()
 
  #Evenement
  app.bind_all('<n>',Nouveau)
  app.bind_all('<q>'Quit)
 
  #Coordonnée balle
  global x,y
  x , y = 0, 50
 
def Nouveau(event): #Quand on appui sur N
  Animate()
 
 
def Animate()
  global x,y
 
  while 1:
    boule = can.create_oval(x,x,y,y,fill = 'red')
    x = x+10
    y = y+10
    sleep(1) #On attent 1 seconde
 
def Quit(event):
  app.destroy()
 
 
#Le main
initialize('Une balle qui rebondit')
app.mainloop()
app.destroy()
Le problème est la boucle infinie, 'While 1'.
Elle provoque un plantage du programme, alors que normalement, c'est
juste un thread qui est lancé, donc on pourrait toujours appuyé sur Q ?

Merci de vos réponses