Python 特金特<;回报>;功能不工作

Python 特金特<;回报>;功能不工作,python,tkinter,return,bind,Python,Tkinter,Return,Bind,我已经阅读了很多关于这类问题的其他答案,但是它们都不起作用……所以请不要标记它,重复它。。。 我是一名Python自学者,在Windows上运行Python 3.6。 这是密码- self.btnCalc = Button(self, text = "Calculate", command=self.calculate, bd=10) self.btnCalc.grid(row = 11, column = 5) self.btnCalc.bind('<Return>', self.

我已经阅读了很多关于这类问题的其他答案,但是它们都不起作用……所以请不要标记它,重复它。。。 我是一名Python自学者,在Windows上运行Python 3.6。 这是密码-

self.btnCalc = Button(self, text = "Calculate", command=self.calculate, bd=10)
self.btnCalc.grid(row = 11, column = 5)
self.btnCalc.bind('<Return>', self.calculate)
self.btnCalc=按钮(self,text=“Calculate”,command=self.Calculate,bd=10)
self.btnCalc.grid(行=11,列=5)
self.btnCalc.bind(“”,self.calculate)

整个代码(用于计算学校成绩)。

我认为您希望在不单击按钮的情况下触发命令,因此您需要将事件绑定到您的主小部件
self

您不会将事件绑定到按钮命令,而是直接绑定到命令。当您在父级上创建绑定时,所有子级小部件、条目

您可以使用以下选项:

self.bind('<Return>', self.calculate) 
# or self.bind('<KP_Enter>', self.calculate) to trigger numpad Return
事件说明:

使用方法
widget.bind(…)
将函数绑定到事件时,tkinter使用一个参数调用函数:事件。它包含有关触发动作的信息,如鼠标坐标,或正确处理事件的任何相关细节

你没有在你的函数中使用它,但是你需要声明它

然后,当您从按钮和绑定使用函数时,必须将其声明为可选参数,默认值为:
None
,因为按钮内的命令在调用函数时不会生成此
事件
参数


什么不起作用?实际上你还没有说。当我按enter键时,按钮不会被执行。不,在tkinter中,你只需要绑定不需要该键-但是关于计算没有
事件
参数,你是对的,但是当我现在手动(用鼠标)按下按钮时,它在tkinter回调回溯中显示-
异常(最近一次调用最后一次):文件“C:\Python36\lib\tkinter\\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu缺少1个必需的位置参数:“event”
是,答案中已修复,事实上,如果您使用按钮中的函数,
event
未给出…因此此处需要一个默认参数。如何进行编码,以便
Enter
键并手动按下该键?您可以使用
def calculate(self,event=None)
而不是我的第一个代码建议
def calculate(self, event=None):