gpt4 book ai didi

python - 根据 "grid_location"方法,按钮有自己的坐标系?

转载 作者:太空狗 更新时间:2023-10-30 00:57:35 25 4
gpt4 key购买 nike

我正在尝试在 Tkinter 中使用 grid_location 方法,来自 Grid Geometry Manager,但似乎我做错了什么。

这是我的代码:

from tkinter import * 


root = Tk()

b=Button(root, text="00")
b.grid(row=0, column=0)
b2=Button(root, text="11")
b2.grid(row=1, column=1)
b3=Button(root, text="22")
b3.grid(row=2, column=2)
b4=Button(root, text="33")
b4.grid(row=3, column=3)
b5=Button(root, text="44")
b5.grid(row=4, column=4)

def mouse(event):
print(event.x, event.y)
print(root.grid_location(event.x, event.y))

root.bind("<Button-1>", mouse)

root.mainloop()

当我在按钮外部单击时,它起作用了,但是当我在任何按钮内部单击时,似乎每个按钮都有自己的坐标系。因此,每个按钮都位于 (0, 0) 单元格上,尽管在代码中,它们位于规则网格上。

最佳答案

您说得对,每个按钮“都有自己的坐标系”。不过,更准确地说,event.xevent.y 值是相对于与事件关联的小部件而不是小部件的父窗口或根窗口。

如果您确实需要小部件所在的行和列,您可以使用 grid_info 获取与事件关联的小部件的行和列。例如:

def mouse(event):
grid_info = event.widget.grid_info()
print("row:", grid_info["row"], "column:", grid_info["column"])

关于python - 根据 "grid_location"方法,按钮有自己的坐标系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com