Function Tkinter链接按钮按下并';返回';钥匙
我看过各种教程,了解如何将按键和键盘上的“回车”键连接起来。我可以同时做这两件事,但一次只能做一件。键盘样式是Function Tkinter链接按钮按下并';返回';钥匙,function,python-3.x,button,tkinter,Function,Python 3.x,Button,Tkinter,我看过各种教程,了解如何将按键和键盘上的“回车”键连接起来。我可以同时做这两件事,但一次只能做一件。键盘样式是rootWindow.bind(''functionName),而链接屏幕按钮的样式是command=functionName。我只是无法让它们在同时使用时工作 这是我工作的基本框架 def printthis(event): print("worked") root = Tk() root.bind('<Return>', printthis) button1
rootWindow.bind(''functionName
),而链接屏幕按钮的样式是command=functionName
。我只是无法让它们在同时使用时工作
这是我工作的基本框架
def printthis(event):
print("worked")
root = Tk()
root.bind('<Return>', printthis)
button1 = Button(root, text='Enter', command=printthis)
button1.pack()
root.mainloop()
def打印此(事件):
打印(“已打印”)
root=Tk()
root.bind(“”,printthis)
button1=按钮(根,text='Enter',command=printthis)
按钮1.pack()
root.mainloop()
当我运行当前代码时出现此错误,我只是不确定应该将什么“事件”传递到command=printthis
部分
TypeError:printthis()缺少1个必需的位置参数:“事件”
作为旁注,我使用的是Python 3.x,当您绑定函数时,每当绑定操作发生时,事件对象将被传递到函数中。如果您希望函数同时适用于on event和button press,那么您有两个选项 首先是函数是否需要事件对象,然后允许函数为事件接受可选参数
def printthis(event = None):
if event is None:
# handle this case
# otherwise handle event object normally.
第二个是如果您不关心事件对象,那么第1个仍然可以(您只是从不使用事件参数),或者您可以在绑定时使用lambda
def printthis():
print("worked")
root.bind('<Return>', lambda e: printthis())
def printthis():
打印(“已打印”)
root.bind(“”,lambda e:printthis())
lambda
获取事件对象e
,然后调用函数而不传入e
丢弃它。绑定函数时,每当绑定操作发生时,事件对象都会传入它。如果希望函数同时在事件和按钮上工作,则有两个选项。
首先是函数是否需要事件对象,然后允许函数为事件接受可选参数
def printthis(event = None):
if event is None:
# handle this case
# otherwise handle event object normally.
第二个是如果您不关心事件对象,那么第1个仍然可以(您只是从不使用事件参数),或者您可以在绑定时使用lambda
def printthis():
print("worked")
root.bind('<Return>', lambda e: printthis())
def printthis():
打印(“已打印”)
root.bind(“”,lambda e:printthis())
lambda
获取事件对象e
,然后调用函数而不传入e
丢弃它