You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter中ButtonRelease事件在按住按钮移动后触发参数异常问题求助

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:18:09