Bonjours,
Comme l'indique le titre, j'ai un problème avec l'exercice 8.6 tiret 2 du livre de G.Swinnen des cours Python :
Premièrement, voici, le code source :


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
49
50
51
52
53
54
55
56
57
58
59
60
 
#-*- coding:Utf8 -*-
#########################################################################
# #Nom: Traceur de ligne                                                                                                                        # #
# #                                                                                                                                                      # #
# #But: tracer une ligne dans un canevas avec des couleurs aléatoires                                                            # #
# #                                                                                                                                                      # #
# #copyright : nietoparang ©                                                                                                                   # #
#########################################################################
 
#importation des modules :
from tkinter import *
from random import randrange
 
#definition des fonctions:
 
def drawline2():
    "trace une croix en rouge"
    can1.create_line(100, 0, 100, 200, fill='red')
    can1.create_line(0, 100, 200, 100, fill='red')
 
def drawline(x1, y1, x2, y2, coul):
    "tracé d'une ligne dans le canevas can1"
    can1.create_line(x1, y1, x2, y2, width=2, fill=coul)
 
    #modification des coordonnées sur la ligne suivante:
    y1, y2= y1-10, y2+10
 
 
def changecolor():
    "changement aleatoire de la couleur du tracé"
    global coul
    pal = ['cyan', 'maroon', 'green']
    c = randrange(3)
    coul = pal[c]
 
 
# ----Programme Principal----:
 
x1, y1, x2, y2 = 10, 190, 160, 10
coul= 'dark green'
 
#widget principal:
fen1 = Tk()
 
#widget esclaves:
can1 = Canvas (fen1, bg='dark grey', height=200, width=200)
can1.pack(side=LEFT)
bou1= Button(fen1,text='Quitter',command=fen1.quit)
bou1.pack(side=BOTTOM)
bou2= Button(fen1,text='Tracer une Ligne',command= drawline(x1, y1, x2, y2, coul))
bou2.pack()
bou3= Button(fen1,text='Changer couleur',command=changecolor)
bou3.pack()
bou4= Button(fen1,text='viseur', command = drawline2)
bou4.pack()
 
fen1.mainloop()
 
fen1.destroy()
Alors voilà le problème:
Au lieu de fonctionner normalement, il se fige :
Nom : Capture.PNG
Affichages : 517
Taille : 31,9 Ko
Je peut afficher le viseur mais c'est tout...
Est-ce normal? Le but de l'exercice?
Est-ce que quelqu'un peut m'expliquer comment ça se fait?

Merci d'avance pour vos réponses