点击时获取tkinter按钮在网格中的行
点击时获取tkinter按钮在网格中的行
我正在编写一个简单的tkinter小部件
,它包括一列输入框和一列按钮。按钮应该打印相应输入框中的值。我已经写好了所有的代码,但是我在函数中硬编码了行标签:print find_in_grid(root, 2, 0).get()
。我需要用点击的按钮所在的行替换掉2
。如何获取这一行?
完整的代码如下:
from Tkinter import * def print_value(): print find_in_grid(root, 2, 0).get() def find_in_grid(frame, row, column): for children in frame.children.values(): info = children.grid_info() # 注意行和列的编号存储为字符串 if info['row'] == str(row) and info['column'] == str(column): return children return None root = Tk() height = 5 width = 1 for i in range(height): # 行 for j in range(width): # 列 b = Entry(root, text="", width=100) b.grid(row=i, column=j) height = 5 width = 1 for i in range(height): # 行 for j in range(width): # 列 b = Button(root, text="打印值", command=print_value, width=10) b.grid(row=i, column=j+1) mainloop()