Bonjour,
Soit ma classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
class Ma_classe(tkinter.Frame):
    def __init__(self,root, text=None,font=None, bg=None,fg='black',
        height=64,width= 64,image=None, **arg):
        tkinter.Frame.__init__(self, root)
Selon le path de ma classe, celle ci doit effectuer un traitement différant. En particulier, je cherche à identifier si ma classe est employée ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.grid()
frame = tk.Frame()
w = Ma_classe(frame)
canvas.create_window(window=frame)
root.mainloop()
J'ai essayer ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
def __init__(self,root, text=None,font=None, bg=None,fg='black',
                 height=64,width= 64,image=None, **arg):
        tkinter.Frame.__init__(self, root)
        print("self.winfo_parent", self.winfo_parent)
        idframe = self.winfo_id()
        print('id : ', idframe)
        print('nom du bouton: ', self.winfo_name())
        print ("pathname : ", self.winfo_pathname(idframe))
        if self.winfo_pathname(idframe)== ".!frame.!Ma_classe":
            print('Fais ceci')
        else:
            print("Fais cela")
Cependant, procédant ainsi je ne peux pas distinguer si Ma_classe a été mise en oeuvre "depuis canvas.create_windows" ou pas.
Comment procéder? Merci