我用tkinter创建一个窗口,我想检查一个Label是否在坐标relx = 0.3和依赖= 0.63处。有什么功能可供我使用吗?
我已经尝试使用nametowidget
函数,但是我必须给每个小部件我有一个名字。
所以,我试图得到的小部件是在窗口移动,如果它到达坐标我想以另一种方式移动它,但我不知道我可以使用的任何功能
答案 0 :(得分:0)
您可以使用winfo_x/y
获取标签坐标,使用winfo_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()