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
| from tkinter import *
class Cercle(Canvas):
def __init__(self, boss =None, larg=250, haut=220):
Canvas.__init__(self)
self.configure(width=larg, height=haut, bg="white")
def traceCercle(self, x=125, y=110, r=30, coul="purple"):
self.create_oval(x-r, y-r, x+r, y+r, outline=coul)
class ChoixRayon(Frame):
def __init__(self, boss =None):
Frame.__init__(self)
self.rayon = 0
# Widget curseur :
Scale(self, length =150, orient=HORIZONTAL, sliderlength =25,label='Rayon :', from_=1, to=100, tickinterval =30, showvalue =0, command =self.setRayon).pack(side=LEFT)
def setRayon(self, r):
self.rayon = float(r)
self.event_generate('<Control-Z>')
class ShowCercle(Frame):
def __init__(self, boss =None):
Frame.__init__(self)
# Instanciation Canvas :
self.gra = Cercle(self)
self.gra.pack(side =TOP, pady=5)
# Instanciation Curseur :
self.controle = ChoixRayon(self)
self.controle.pack()
# Désignation de l'évenement :
self.master.bind('<Control-Z>', self.montreCercle)
self.master.title('Cercle')
self.pack()
def montreCercle(self, event):
# Efface le cercle dans le Canvas :
self.gra.delete(ALL)
# Trace un nouveaux cercle :
self.gra.traceCercle(r = self.controle.rayon)
if __name__ == '__main__':
ShowCercle().mainloop() |
Partager