Bonjour, ma question est de savoir comment je peux rafraichir ma fenêtre après avoir fait appel au mainloop(). Chaque fois que je fait un canvas.update() ou bien canvas.une_methode() j'obtient l'érreur suivante: error invalid name ".!canvas"...

Ceci est juste une ébauche de mon code pour illustrer le problème
Code python : 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
18
19
20
21
22
23
24
25
 
import tkinter as tk
#import gestion_pieces
class Game_graphics_components(object):
        def __init__(self):
        root = tk.Tk()
        root.title("Tetrix Game")
        root.geometry("600x800")
        root.resizable(False, False)
        #The game green canvas
        self.canvas = tk.Canvas(root, height="700", width="200", bg="#41B77F")
        label_title = tk.Label(root, text="Tetrix By Me", font=("Arial", 15))
        label_title.pack(expand=True)
        self.canvas.pack()
        self.root = root
 
class Game_matrix(Game_graphics_components):
   def init_matrix(self):
   def repaint(self):
   #J'ai un code ici qui me dessine une grille
   self.root.mainloop()
 
   def update_grille(self):
    #Jai un code ici qui modifie les valeurs de ma grille (tableau) donc après modification j'aimerai faire
    #self.canvas.update()... ou autre mais comme le premier appel de repaint est déja dans le mainloop j'obtient une érreur et le canvas est introuvable!

En gros mon problème est juste de savoir comment rafraichir ma fenêtre (sans bouton déclancheur), puisque si je fais un after(SECS, update_grille()) juste avant le mainloop() je constate que update_grille() se bloque pendant ce nombre de secondes et s'exécute puis appelle le mainloop alors que je veux que le mainloop() lance d'abord l'interface et ensuite je la rafrachie à ma guise. J'espère que mon problème est bien expliqué..