Identifier si ma classe(tk.frame) a dans son path 'canvas.create_windows'
Bonjour,
Soit ma classe:
Code:
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:
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:
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