如何在 tkinter 中查找特定像素 window

How to find specific pixel in tkinter window

我正在用 tkinter 开发我的图形用户界面,我必须把东西放在精确的地方,我不能只使用 pack。目前我在 place() 中为 widthheight 写了几乎随机的数字,然后 运行,调整数字,重复程序并检查位置,直到按钮或标签正好适合完美。

有没有更简单的方法? python 启动器是否有一个选项允许我指向 window 中的某处并找出坐标? 或者可能是 vcscode 的扩展或 pycharm?

的设置

这是获取鼠标坐标的最简单方法

from tkinter import Tk


root = Tk()

root.bind('<Button-1>', lambda e: print(e.x, e.y))

root.mainloop()

基本上 .bind() 将一个事件(顾名思义)绑定到小部件,当事件被触发时 .bind() 方法调用给定的函数,同时还传递一个 event 参数所以必须处理,但也可以在这种情况下使用(实际上在大多数情况下)

P.S。 e 只是我在这种情况下使用 lambda 时的偏好,如果我要像往常一样定义一个函数,我会使用 event 作为参数名称

正如@Matiiss 在他的回答中所说,using 可以使用鼠标坐标。

此外,还有一个名为 <Motion> 的活动您可以使用。

from tkinter import *
root=Tk()
lbl=Label(root,text='')
lbl.pack()
lbl1=Label(root,text='')
lbl1.pack()
root.bind("<Motion>",lambda e: [lbl.config(text=f"X pixel: {e.x}"),lbl1.config(text=f"Y pixel: {e.y}")])
root.mainloop()