Tkinter中ButtonRelease事件在按住按钮移动后触发参数异常问题求助
各位大佬好,我正在用tkinter做一个简单的方块游戏,但遇到了ButtonRelease事件的问题——比如我有两个绑定了同一个函数但参数不同的矩形,当我按下第一个矩形,然后把鼠标移到第二个上面再松开按钮时,触发的却是第一个矩形绑定的参数,而不是松开时鼠标所在的那个矩形的参数。
下面是我的示例代码:
import tkinter as tk w, h = 800, 800 root = tk.Tk() root.geometry(f"{w}x{h}") canvas = tk.Canvas(root, height=h, width=w, bd=0, highlightthickness=0, bg="#921701") canvas.place(x=0,y=0) def cell_input(a: int, b: int) -> None: print(a, b) link = lambda x, y: (lambda event: cell_input(x, y)) for i in range(8): for j in range(8): canvas.create_rectangle(100+j*80, 100+i*80, 180+j*80, 180+i*80, fill="#924701", tags=(f"block{i}_{j}")) canvas.tag_bind(f"block{i}_{j}", "<ButtonRelease-1>", link(i, j)) root.mainloop()
有没有大佬能帮我解决这个问题,或者给一些替代方案呀?
备注:内容来源于stack exchange,提问作者Angry Pigs
相关产品推荐
相关产品推荐

