gpt4 book ai didi

python - Tkinter 功能不起作用

转载 作者:行者123 更新时间:2023-12-01 02:34:41 26 4
gpt4 key购买 nike

我已经阅读了很多此类问题的其他答案,但它们不起作用...所以不要标记它重复...我是一名 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)

This is the link整个代码(计算学校成绩)。

最佳答案

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

您不将事件绑定(bind)到按钮命令,而是直接绑定(bind)到命令。当您在父级上创建绑定(bind)时,它可用于所有子级小部件、Entry...

你可以使用这个:

self.bind('<Return>', self.calculate) 
# or self.bind('<KP_Enter>', self.calculate) to trigger numpad Return

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

def calculate(self, event=None):

有关事件的说明:

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

您尚未在函数中使用它(还?),但您需要声明它。

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

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

关于python - Tkinter <Return> 功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46381232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com