Tkinter 使用按钮或按键调用功能

问题描述

我需要创建一个函数,该函数在我按下 GUI 的按钮或按下 ENTER 等键时启动。这是可能的? 我已经创建了执行这两种情况之一的单个函数,我可以合并它们吗?我附上代码以便更好地理解

LoginWindow = tk.Tk() #code of function with button
canvas = tk.Canvas(LoginWindow,width=480,height=120,bg='lightsteelblue2',relief='raised')
canvas.pack()
def getLogin():
    tk.messageBox.showinfo("Hello","Hello")
LogButton = tk.Button(text="Login",command=getLogin,bg='green',fg='white',font=('helvetica',12,'bold'))
canvas.create_window(240,60,window=LogButton)

LoginWindow.mainloop()
####
####
LoginWindow = tk.Tk() #code of function with ENTER key
canvas = tk.Canvas(LoginWindow,relief='raised')
canvas.pack()
def getLogin(event):
    tk.messageBox.showinfo("Hello","Hello")
LoginWindow.bind('<Return>',getLogin)

LoginWindow.mainloop()

有一种方法可以将这两个功能结合起来

解决方法

您可以像这样更改函数签名:

def getLogin(event=None):
    tk.messagebox.showinfo("Hello","Hello")

然后可以在两种不同的情况下调用相同的函数。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...