Tkinter链接按钮按下并返回'键

时间:2017-02-04 01:45:54

标签: function python-3.x button tkinter

我已经查看过各种教程,了解如何关闭按钮按键盘按下&#39; return。&#39;我可以做到这两件事,但一次只做一件。键盘样式为$em->detach($entity),并且链接屏幕上的按钮为rootWindow.bind('<Return>' functionName。我不能在同时使用它们时让它们工作。

这是我与

合作的基本框架
command=functionName

当我运行当前代码时出现此错误,我只是不确定&#39;事件&#39;我应该进入def printthis(event): print("worked") root = Tk() root.bind('<Return>', printthis) button1 = Button(root, text='Enter', command=printthis) button1.pack() root.mainloop() 部分

command=printthis

作为旁注,我使用的是Python 3.x

1 个答案:

答案 0 :(得分:2)

绑定函数时,只要发生绑定操作,就会将事件对象传递给它。如果您希望您的功能在事件和按钮按下时都有效,那么您有两个选择。

首先,如果您的函数可能需要事件对象。然后允许你的函数为事件采用可选参数。

def printthis(event = None):
    if event is None:
        # handle this case

    # otherwise handle event object normally.

第二个是如果你不关心事件对象那么第一个仍然没问题(你只是从不使用事件参数),或者你可以在绑定时使用lambda

def printthis():
    print("worked")

root.bind('<Return>', lambda e: printthis())

lambdae作为事件对象,然后调用您的函数而不传递e丢弃它。