Python 通过坐标在窗口中查找小部件

Python 通过坐标在窗口中查找小部件,python,tkinter,label,coordinates,Python,Tkinter,Label,Coordinates,我用tkinter做了一个窗口,我想检查标签是否在坐标relx=0.3和RELn=0.63处。有什么我可以使用的功能吗? 我已经尝试过使用nametWidget函数,但是在那里我必须给每个小部件命名 因此,我尝试获取的小部件在窗口中移动,如果它达到坐标,我想以另一种方式移动它,但我不知道我可以使用任何函数您可以使用winfou x/y获取标签坐标,并使用winfou width/height获取窗口的尺寸以计算相对坐标。我举了一个小例子,目标是调整窗口大小以获得正确的相对坐标: import t

我用tkinter做了一个窗口,我想检查标签是否在坐标relx=0.3和RELn=0.63处。有什么我可以使用的功能吗? 我已经尝试过使用
nametWidget
函数,但是在那里我必须给每个小部件命名


因此,我尝试获取的小部件在窗口中移动,如果它达到坐标,我想以另一种方式移动它,但我不知道我可以使用任何函数

您可以使用
winfou x/y
获取标签坐标,并使用
winfou width/height
获取窗口的尺寸以计算相对坐标。我举了一个小例子,目标是调整窗口大小以获得正确的相对坐标:

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()
将tkinter作为tk导入
def check_label_relpos():
relx=l.winfo_x()/parent.winfo_width()
rely=l.winfo_y()/parent.winfo_height()
如果(abs(relx-0.3)<0.02)和(abs(rely-0.63)<0.02):
打印(“确定”)
其他:
打印(relx,rely,“重试”)
parent=tk.tk()
l=tk.Label(父项,text=“Label text”,bg=“red”)
l、 地点(x=50,y=160)
tk.按钮(父项,text=“Check label relpos”,command=Check\u label\u relpos).place(relx=0.5,rely=1,anchor=“s”)
parent.mainloop()