Bonsoir à tous,
Toujours dans mon apprentissage du Python avec Swinnen, j'en suis au chapitre 8. Plus précisément à l'exercice 8.11.
Dans cet exercice, il est demandé d'écrire un programme qui détecte un click dans une fenêtre. Lors du click, il faut créer un cercle.
Voici mon programme:
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 #!/usr/bin/python3.4 # -*-coding:Utf-8 -* # Détection et positionnement d'un click de souris dans une fenêtre # Ajout d'un petit cercle rouge à l'endroit du click from tkinter import * def pointeur(event): chaine.configure(text="Click détecté en X =" + str(event.x) + \ ", Y =" + str(event.y)) def cercle(x, y, r, coul): " Creation d'un cercle de centre (x,y) de rayon r et de couleur coul " r = 5 coul = 'red' cadre.create_oval(x - r, x + r, y - r, y + r, fill=coul) # ----- Programme principal ----- # fen = Tk() cadre = Canvas(fen, width=200, height=150, bg="light yellow") cadre.bind("<Button-1>", pointeur) cadre.bind("<Button-1>", cercle) cadre.pack() chaine = Label(fen) chaine.pack() fen.mainloop()
Malheureusement, j'obtiens ce message d'erreur à l'éxecution:
Pourriez-vous m'aider SVP?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /usr/bin/python3.4 "/home/fieldmoose/Documents/Python/Exercices/Chap 8/8_11.py" Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python3.4/tkinter/__init__.py", line 1490, in __call__ return self.func(*args) TypeError: cercle() missing 3 required positional arguments: 'y', 'r', and 'coul'
Partager