1

我需要我的按钮在单击时返回它们的列和行值。我试过编码但没有奏效。

my_button = ttk.Button(mainframe)
my_button['command'] = return_func(my_button.grid_info()['row'])
my_button.grid(column=1, sticky=(W, E))

我正在自动创建按钮,因此 col 和 row 值正在改变。我该如何解决?

4

1 回答 1

3

当您编写 时return_func(inpt.grid_info()['row']),您正在return_func使用该参数执行。你不想这样做。

相反,用于lambda: return_func(inpt.grid_info()['row'])为您的函数调用创建一个容器函数。这样,该lambda函数在调用时执行您的函数。

另一种方法是这样的:

def command_function():
  return_func(inpt.grid_info()['row'])

my_button['command'] = command_function

我没有tk足够的工作来判断你是否需要传递一个参数,所以这对你来说也可能是一个问题。

于 2012-06-21T05:50:12.527 回答