首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tkinter <Return>函数不工作

Tkinter <Return>函数不工作
EN

Stack Overflow用户
提问于 2017-09-23 15:30:11
回答 1查看 633关注 0票数 1

我读过这么多这样的问题的答案,但他们 work...So 不要标记复制.我是一个Python自学者,在Python3.6的Windows上运行。这是密码-

代码语言:javascript
运行
复制
self.btnCalc = Button(self, text = "Calculate", command=self.calculate, bd=10)
self.btnCalc.grid(row = 11, column = 5)
self.btnCalc.bind('<Return>', self.calculate)

这是链接对整个代码(计算学校成绩)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-23 15:36:57

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

不是将事件绑定到按钮命令,而是直接绑定到命令。当您在父部件上创建绑定时,它对所有子部件、条目都可用.

你可以用这个:

代码语言:javascript
运行
复制
self.bind('<Return>', self.calculate) 
# or self.bind('<KP_Enter>', self.calculate) to trigger numpad Return

但是您的方法calculate必须有一个事件参数,即使您不使用它:

代码语言:javascript
运行
复制
def calculate(self, event=None):

对事件 的解释

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

您还没有在函数中使用它(还没有?),但是您需要声明它。

然后,在使用来自按钮和绑定的函数时,必须将其声明为一个可选参数,其默认值为:None,因为按钮中的命令在调用函数时不会生成这个event参数。

http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46381232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档