Bonjour (et meilleurs voeux!)
Voilà un bon moment que je sèche sur un problème technique, et il me semble que le moment est venu de demander un peu d'aide.
Voilà mon problème:
le bout code ci-dessous cree une grille de Morpion, contenant 9 widget représantant 9 cases
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
from Tkinter import *
morpion = Tk() # le widget maitre
morpion.title('MORPION')
grille = Frame(morpion)# une instance de Frame pour contenir les instances de Canvas.
Cell.R et Cell.C donne à chacune un numéro de ligne et de colonne.

Comment faire, sans passer par les événements (donc en programation pure) pour sélectionner telle ou telle case, et dessiner quelque chose dedans?
J'ai essayé les Cell(x, y), Cell [x][y], Cell.grid(x, y), Cell(row=1, column=1).focus_set(), rien ne marche. Faut-il nommer spécifiquement chacune des 9 cases pour les appeler ensuite?
Je n'ai pas non plus trouvé l'info sur internet, car à chaque fois, les cellules sont désignées par la source d'un événement (clic).

Merci d'avance!


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
from Tkinter import *
morpion = Tk() # le widget maitre
morpion.title('MORPION')
grille = Frame(morpion)# une instance de Frame pour contenir les instances de Canvas
for R in range(T) :
   for C in range(T) :
      Cell = Canvas(grille, bg='light grey', width=H, height=H)
      Cell.bind("<Button-1>", joue)
      Cell.grid(row=R, column=C)# mais kess
      Cell.R, Cell.C = R, C                           # localisation de chaque cellule
#===============================================================================
# ci dessus: chaque instance de Canvas se souvient de sa position dans la grille,
#en termes de rangee et de colonne, en definissant dans
# chaque objet les attributs appropries. Comment faire appel telle ou telle #instance?
#===============================================================================
grille.pack()
morpion.mainloop()