【问题标题】:Event binding with widget in tkinter in python [duplicate]python中tkinter中与小部件的事件绑定[重复]
【发布时间】:2017-08-16 07:17:32
【问题描述】:

我在 python 2.7 中编写了一个示例代码。我创建了一个按钮,我想将此按钮与键盘的“F2”键相关联,我还希望如果我单击“单击我”按钮,我想要相同的结果。此代码无法正常工作。如果有人有想法,请告诉我。我问这个问题只是为了知道如何使用其他键盘键,如 F1 到 F12 或 Alt 等。

from Tkinter import *

root = Tk()

def callback(event):
    print "hi"

b = Button(root, text="Click me") 
b.pack()
b.bind("<F2>", callback)

root.mainloop()

【问题讨论】:

  • 我无法理解您的问题。如果按下按钮,您希望执行与 F2 按钮相同的功能吗?
  • 是的,我想要同样的结果,如果点击“点击我”按钮,如果我按下键盘上的“F2”按钮。

标签: python python-2.7 python-3.x tkinter


【解决方案1】:

查看此问题的答案: Call the same function when clicking the Button and pressing enter

他提供的代码示例也应该可以帮助您编写代码。除了b.pack() 命令可能需要在绑定调用之后,您的按钮应该有一个与之关联的命令:b = Button(root, text="Click Me", command=callback)

【讨论】:

    【解决方案2】:

    这可能有效。我无法准确地提出您的问题,但这可以解决我认为的问题。

    from tkinter import *
    
    root = Tk()
    
    def callback(*args):
        print("hi")
    
    root.bind("<F2>", callback)
    b = Button(root, text="Click me") 
    b.pack()
    b.config(command = callback)
    root.mainloop()
    

    在将按钮添加到root之前或之后,您需要将键绑定到函数。

    【讨论】:

    • 谢谢,一切正常。但是您能告诉我,为什么您将“root”与键盘的“F2”按钮绑定了吗?为什么你没有将“b”与键盘的“F2”键绑定?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    相关资源
    最近更新 更多