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
| import tkinter as tk
SIZE = 25
BUTTON = 'button'
def button_create(canvas, x, y):
tags = (BUTTON, )
canvas.create_oval(x-SIZE, y-SIZE, x+SIZE, y+SIZE, fill='grey', tag=tags)
canvas.create_text(x, y, text=0, tag=tags, fill='white',
font=("Arial", 12, "bold"))
def on_click(canvas):
u = canvas.find_withtag('current')[-1]
if canvas.type(u) == 'oval':
u = [z for z in canvas.find_enclosed(*canvas.bbox(u)) if z != u][-1]
v = int(canvas.itemcget(u, 'text'))
canvas.itemconfigure(u, text=(v+1))
if __name__ == '__main__':
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.tag_bind(BUTTON, "<Button-1>", lambda e: on_click(e.widget))
canvas.pack()
for i in range(2):
z = 10 + SIZE + 2*i*SIZE
button_create(canvas, z, z)
tk.mainloop() |
Partager