您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

单击按钮并按Enter时调用相同的功能

单击按钮并按Enter时调用相同的功能

您可以创建一个函数,该函数接受任意数量的参数,如下所示:

def clickOrEnterSubmit(self, *args):
    #code goes here

这称为任意参数列表调用者可以随意传递任意数量的参数,并且所有参数都将打包到args元组中。Enter绑定可以传入其1event对象,而click命令则可以不传入任何参数。

这是一个最小的Tkinter示例:

from tkinter import *

def on_click(*args):
    print("frob called with {} arguments".format(len(args)))

root = Tk()
root.bind("<Return>", on_click)
b = Button(root, text="Click Me", command=on_click)
b.pack()
root.mainloop()

结果,在按下Enter并单击按钮之后:

frob called with 1 arguments
frob called with 0 arguments

如果您不希望更改回调函数的签名,则可以将要绑定的函数包装在lambda表达式中,并 丢弃 未使用的变量:

from tkinter import *

def on_click():
    print("on_click was called!")

root = Tk()

# The callback will pass in the Event variable, 
# but we won't send it to `on_click`
root.bind("<Return>", lambda event: on_click())
b = Button(root, text="Click Me", command=frob)
b.pack()

root.mainloop()
其他 2022/1/1 18:50:08 有432人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶