# Création des widget:
button .eff -text "Effacer" -command {.canv delete all}
canvas .canv -width 200 -height 200 -bg white
pack .eff .canv
bind .canv {buttonPress %x %y}
bind .canv {buttonDeplace %x %y}
proc buttonPress {x y} {
global dessin
set dessin(x0) $x
set dessin(y0) $y
set dessin(tag) [.canv create line $x $y $x $y -fill blue ]
}
proc buttonDeplace {x y} {
global dessin
.canv coords $dessin(tag) $dessin(x0) $dessin(y0) $x $y
}
fichier sourceUne version améliorée: source