小编vap*_*vap的帖子

在Python中使用lambda的tkinter按钮命令

香港专业教育学院尝试寻找解决方案,但找不到一个有效.我有一个2d的tkinter按钮列表,我想在鼠标点击时更改它们的文本.我试过这样做:

def create_board(number):
    print(number)
    for i in range (0,number):
        buttonList.append([])
        for j in range(0,number):
            print(i,j)
            buttonList[i].append(Button(root, text = " ", command = lambda: update_binary_text(i,j)))
            buttonList[i][j].pack()
Run Code Online (Sandbox Code Playgroud)

然后单击它时调用此函数:

def update_binary_text(first,second):
    print(first,second)
    buttonList[first][second]["text"] = "1"
Run Code Online (Sandbox Code Playgroud)

当我点击一个按钮时,它什么都不做,我让程序显示被点击的按钮的索引,并且它们全部显示4,4(这是变量编号= 5时)是否有解决方案?
这是我第一次上课的python尝试.

谢谢

python lambda tkinter list python-3.x

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

lambda ×1

list ×1

python ×1

python-3.x ×1

tkinter ×1