无法获得python TKInter按钮调用工作?

2024-04-20 08:59:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试调用一个函数,当一个按钮单击时, 单击时,它应该设置标签的值。在

标签初始化:

labelResult = Label(root)
labelResult.grid(row=7, column=2)

按钮:

^{pr2}$

功能:

def call_result(label_result, p1, p2):
...
...
result = ...
label_result.config(text=result)
return

当我点击按钮时,什么都没有发生。 原因是函数call_result在我点击按钮之前就被执行了。在

这里出什么问题了?在

am使用python3.4


Tags: 函数功能defcolumnroot标签resultcall
1条回答
网友
1楼 · 发布于 2024-04-20 08:59:59

这可以通过使用标准库functools中的partial来完成,如下所示:

from functools import partial
call_result= partial(call_result, labelResult, param1, param2)
buttonCal = Button(root, command=call_result).grid(row=3, column=0) 

或使用lambda表达式:

^{pr2}$

对于每个函数对象,Tkinter接口层注册一个具有唯一名称的Tk命令。当按钮实现调用Tk命令时,该命令调用相应的Python函数。在

相关问题 更多 >