按坐标

时间:2017-01-30 08:41:21

标签: python tkinter label coordinates

我用tkinter创建一个窗口,我想检查一个Label是否在坐标relx = 0.3和依赖= 0.63处。有什么功能可供我使用吗? 我已经尝试使用nametowidget函数,但是我必须给每个小部件我有一个名字。

所以,我试图得到的小部件是在窗口移动,如果它到达坐标我想以另一种方式移动它,但我不知道我可以使用的任何功能

1 个答案:

答案 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()