Skip to main content
 首页 » 编程设计

python之tkinter 中的命令何时使用 lambda 和回调

2025年05月04日9langtianya

我对在 tkinter 项目的命令中使用函数之间的区别感到困惑。说我有 self.mb_BO.add_radiobutton(label= "Red", variable=self.BO, value=2, command=self.red) 添加语句的工作方式与此有什么区别: self.mb_BO.add_radiobutton(标签=“红色”,变量=self.BO,值=2,命令=self.red()) 其中 func red(self) 将颜色更改为红色。 和 self.mb_BO.add_radiobutton(label= "Red", variable=self.BO, value=2, command=lambda: self.red())

基本上我不明白这些命令在做什么以及何时使用回调或函数引用。我花了几个小时在网上寻找易于理解的摘要,但无济于事,我仍然一头雾水。

请您参考如下方法:

command=self.red 将函数 绑定(bind)到该小部件。 command=self.red() 将该函数的返回值 绑定(bind)到该小部件。你不希望你的小部件试图调用,比如说,一个数字或一个字符串——你希望它调用一个函数。如果您希望小部件调用带有参数的函数,那么您可以使用 lambda:

command=lambda x=None: print('hello world')