2017-01-30 129 views
0

我用tkinter製作窗口,我想檢查標籤是否在座標relx = 0.3,依賴= 0.63。有沒有我可以使用的功能? 我已經試過使用nametowidget函數,但是我必須爲每個小部件提供一個名稱。通過座標在窗口中查找窗口小部件

所以,小部件我試圖讓在窗口中移動,如果它達到我想把它移到另一種方式的座標,但我不知道,我可以用

回答

0

可以使用winfo_x/y任何功能得到標籤座標並獲得窗口的尺寸以計算相對座標。我做了一個小例子,其目標是調整窗口大小以獲得正確的相對座標:

import tkinter as tk 

def check_label_relpos(): 
    relx = l.winfo_x()/parent.winfo_width() 
    rely = l.winfo_y()/parent.winfo_height() 

    if (abs(relx - 0.3) < 0.02) and (abs(rely - 0.63) < 0.02): 
     print("Ok") 
    else: 
     print(relx, rely, "Try again") 

parent = tk.Tk() 

l = tk.Label(parent, text="Label text", bg="red") 
l.place(x=50, y=160) 

tk.Button(parent, text="Check label relpos", command=check_label_relpos).place(relx=0.5, rely=1, anchor="s") 

parent.mainloop()