3
我正在写一个程序,它显示一个按钮的网格,当按下按钮时我希望它打印网格中按钮的位置(“行列” )输出到控制台。以下是我有Python Tkinter,设置循环的按钮回调函数
import Tkinter as tk
class board(tk.Tk):
def __init__(self, parent=None):
tk.Tk.__init__(self,parent)
self.rows = 5
self.columns = 5
self.init_board()
def init_board(self):
for i in range(self.rows):
for j in range(self.columns):
cmd = lambda: self.button_callback(i,j)
b = tk.Button(self, text=str(" "), command=cmd)
b.grid(row=i, column=j)
def button_callback(self, row, col):
print(str(row) + " " + str(col))
if __name__ == '__main__':
board().mainloop()
的问题是,当我点击任何按钮,我得到“4 4”打印出来,这是在环实例化的最后一个按钮的位置。我不知道为什么会发生这种情况,请帮忙!
这工作,谢谢! – user3124924
@ user3124924,欢迎来到Stack Overflow!由于您是新手,您可能需要查看[此链接](http://meta.stackexchange.com/a/5235)。 – falsetru