将参数传递给绑定到键的tkinter事件回调

莎拉

我是Python的新手,这是我第一次使用tkinter。我正在尝试创建一个事件,如果按下Enter键,则该函数称为传递参数(在这种情况下,我想传递输入小部件)。这是我的代码的简化版本:

def checkPassword(event):
    # do stuff

from tkinter import *
import tkinter.messagebox as box
window = Tk()
window.title('Booking System')
frame = Frame(window)
Entry = Entry(frame)
Entry.bind("<KeyRelease-Return>", checkPassword)
Entry.pack()
frame.pack()
window.mainloop()

这里的事件运行良好,但是当我尝试传递参数时遇到了问题。我试过了

def checkPassword(self, event):
    # do stuff

Entry.bind("<KeyRelease-Return>", lambda event: self.checkPassword(event, Entry))

并得到错误NameError:未定义全局名称'self'

而且我也尝试过

def checkPassword(self,event,param):
    # do stuff

import functools
Entry.bind("<KeyRelease-Return>", functools.partial(checkPassword, param=Entry))

但是得到TypeError:checkPassword()缺少1个必需的位置参数:'event'

我似乎无法修复其中任何一个,我在这里查看了类似问题的解决方案,但无法让其中任何一个与我的代码一起使用。

凯文

您的第二次尝试已经结束,但是由于checkPassword它不是类方法,因此您不应在它前面加上self.

def checkPassword(event, some_value_you_want):
    # do stuff

Entry.bind("<KeyRelease-Return>", lambda event: checkPassword(event, name_of_your_entry_widget))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数传递给回调?

来自分类Dev

将参数传递给回调

来自分类Dev

将参数传递给包回调

来自分类Dev

将参数传递给回调

来自分类Dev

将参数传递给回调

来自分类Dev

将参数传递给回调?

来自分类Dev

将参数传递给回调块

来自分类Dev

tkk将参数传递给回调

来自分类Dev

将参数传递给回调函数

来自分类Dev

将参数传递给回调函数

来自分类Dev

将参数传递给回调函数

来自分类Dev

在Lua中是否可以将参数绑定到作为参数传递给另一个函数的回调函数?(JavaScript的“绑定”等效项)

来自分类Dev

将参数传递给jquery click事件中的回调函数

来自分类Dev

在Tkinter中将多个参数传递给StringVar的回调

来自分类Dev

在Tkinter中将多个参数传递给StringVar的回调

来自分类Dev

Rails将参数/参数传递给ActiveRecord回调函数

来自分类Dev

JavaScript:如何将额外的参数传递给回调

来自分类Dev

Javascript:如何将参数传递给回调函数

来自分类Dev

将参数传递给$ q.all回调

来自分类Dev

NodeJS异步-将参数传递给回调

来自分类Dev

将参数传递给JavaScript中的url回调函数

来自分类Dev

将额外的参数传递给jQuery Ajax Promise回调

来自分类Dev

如何将参数传递给setTimeout()回调?

来自分类Dev

NodeJS将额外的参数传递给回调

来自分类Dev

将参数传递给动画回调函数

来自分类Dev

将参数传递给控制器中的回调

来自分类Dev

将参数传递给在argumnets上侦听的回调函数

来自分类Dev

NodeJS将额外的参数传递给回调

来自分类Dev

Javascript将参数传递给回调函数