有没有办法按下按钮而不在tkinter / python上触摸它?

时间:2014-05-24 00:08:31

标签: python button user-interface tkinter

嗨我需要这样做因为,我正在制作匹配/记忆游戏,并且必须有一个按钮(与当前游戏中的按钮完全分开),当我按下它时,它必须显示匹配无需用鼠标触摸按钮即可自动显示卡片。

是否有"按"用于按下按钮的功能还是类似的东西?

谢谢! :)

2 个答案:

答案 0 :(得分:13)

正如Joel Cornett在评论中建议的那样,简单地调用传递给按钮的回调可能更有意义。但是,正如docs中所述,Button.invoke()方法与按下按钮具有相同的效果(并将返回回调的结果),但有一点点好处,即如果该按钮当前已禁用或没有回调。

答案 1 :(得分:0)

如果您还希望按钮获得视觉反馈,可以执行以下操作:

# somewhere the button is defined to do something when clicked
self.button_save = tk.Button(text="Save", command = self.doSomething)

# somewhere else 
self.button_save.bind("<Return>", self.invoke_button)

def invoke_button(self, event):
    event.widget.config(relief = "sunken")
    self.root.update_idletasks()
    event.widget.invoke()
    event.widget.config(relief = "raised")

在此示例中,当按钮具有焦点并在键盘上按下Enter / Return时,该按钮似乎被按下,其作用与单击(鼠标/触摸)时相同,然后再次未按下。