如何在 Tkinter 的 for 循环中绑定按钮?

问题描述

我正在尝试将一个函数绑定到我的应用程序中的所有按钮并传递额外的参数

然而,所有按钮都获得相同的参数而不是每个按钮的唯一参数(for循环中最后一个按钮的参数)

对我做错了什么有什么建议吗?

def add_buttons(self,letters):
    for i,row in enumerate(letters):
        for j,letter in enumerate(row):
            btn = Button(self._bottom_mid,text=letter,font=self._myFont,bg=WHITE_COLOR,fg=BLUE_COLOR,padx=30,pady=30)
            btn.place(relx=i * 0.2 + 0.1,rely=j * 0.2 + 0.1,relwidth=0.2,relheight=0.2)
            btn.bind("<Button-1>",lambda e: self._boggle.moused_clicked(e,(i,j),letter))


def moused_clicked(e,coordinate,letter):
    print(coordinate)
    print(letter) 
    # The output is always the coordinate of
    # the last button no matter what button was clicked on

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...