Probleme winfo_rooty tktinter

Fermé
Torion - Modifié le 21 janv. 2023 à 17:23
 hudada - 21 janv. 2023 à 22:51

Bonjour,

je n'arrive pas à comprendre pourquoi cela ne renvoie pas 150.

Mon code:

from tkinter import *

# la base
window=Tk()
window.title("dame")

# taille
window.maxsize(width=500, height=500)
window.minsize(width=500, height=500)

# creer la fenetre
cv =Canvas(window,width=500,height=500)
cv.pack()
# damier

     
pn1=Button ( text ="pn1",bg="brown")
pn1.place(x=150,y=150)
window.update()
print(pn1.winfo_rooty())

Cela renvoie 285.

Merci d'avance


Windows / Chrome 109.0.0.0

2 réponses

Bonsoir, il y a méprise, cela retourne la distance du widget du bord haut de l'écran, et non de la fenêtre tkinter.

0

Pour tester :

from tkinter import *

def show_position(evt):
   # window.update_idletasks()
   print(pn1.winfo_rooty())

# la base
window = Tk()
window.title("dame")
window.geometry('300x300')

window.bind('<Configure>', show_position)

pn1 = Button(text ="pn1", bg="brown")
pn1.place(x=150, y=150)

mainloop()
0