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
|
#-*- coding: utf-8 -*-
from Tkinter import *
#-------------------------------------------------------------------------------
def Grille(fen,x,y, taille_case, taille_case_ap):
def onClick(event):
monitem = canvas.find_closest(canvas.canvasx(event.x), canvas.canvasy(event.y))
tag = canvas.itemcget(monitem, "tag").split()[0]
monitem_ap = canvas_ap.find_withtag(tag)[0]
if canvas.itemcget(monitem, 'fill') == 'white':
canvas.itemconfigure(monitem, fill='black')
canvas_ap.itemconfigure(monitem, fill='black')
else:
canvas.itemconfigure(monitem, fill='white')
canvas_ap.itemconfigure(monitem, fill='white')
"Dessine la grille"
canvas = Canvas(fen, width =x*taille_case+4, height=y*taille_case+4)
for i in range(x):
for j in range(y):
canvas.create_rectangle((i*taille_case)+2,(j*taille_case)+2,((i+1)*taille_case)+2 , ((j+1)*taille_case)+2, fill='white', tag="%i*%i"%(i, j))
canvas.pack()
canvas.bind('<ButtonRelease-1>', onClick)
#-------------------------------------------------------------------------------
def Apercu(fen,x,y,taille_case):
"Dessine l'aperçu"
global canvas_ap
canvas_ap = Canvas(fen, width =x*taille_case, height=y*taille_case)
for i in range(x):
for j in range(y):
canvas_ap.create_rectangle((i*taille_case),(j*taille_case),((i+1)*taille_case) , ((j+1)*taille_case), outline='white',fill='white', width=0, tag="%i*%i"%(i, j))
canvas_ap.pack()
#-------------------------------------------------------------------------------
root = Tk()
Apercu(root,25,25,5)
Grille(root,25,25,20,5)
root.mainloop() |
Partager