如何从 tkinter 中按下的按钮获取网格信息?

Ник*_*њац 5 python tkinter button

我需要在 Python 2.7 中使用 Tkinter 创建按钮表,它有n行和n列,右下角没有按钮。

问题是,当我按下按钮时,在它的位置上,我需要创建可用空间并将该按钮移动到之前为空的空间,但我不能这样做,因为我不知道如何获取网格(x 轴和 y 轴) ) 按下按钮的信息以使用它来创建可用空间。

这是我当前的代码:

from Tkinter import *

#Input:
n=int(raw_input("Input whole positive number: "))
L = range(1,n+1)
k = n
m = n

#Program:
root = Tk()
for i in L:
    for j in L:
        frame = Frame(root)
        frame.grid(row = i, column = j)
        if j == k and i == m:
            pass
        else:
            button = Button(frame)
            button.grid(row = i, column = j)


root.mainloop()
Run Code Online (Sandbox Code Playgroud)

这将是这样的,我想获得按钮网格位置,并使用它来更改km变量以在按下按钮的位置创建空白空间。

Bry*_*ley 7

您可以通过对按钮使用 lambda 表达式来传递行和列:

button = Button(..., command=lambda row=i, column=j: doSomething(row, column))
Run Code Online (Sandbox Code Playgroud)