Python - Tkinter预选按钮

时间:2012-12-14 11:41:46

标签: python macos tkinter

我在python中有一个小脚本,它使用tkinter创建一个Windows弹出窗口。 一些文字填写后,两个按钮:Dismiss / OK。

我想让用户只需按下'Enter'即可按下OK按钮。我的意思是我希望预先选择(突出显示)确定按钮,这样您就可以使用输入而无需单击它。

我希望我足够清楚。 谢谢 !

1 个答案:

答案 0 :(得分:2)

使用button.focus()“预选”按钮:

import Tkinter as tk

class App(object):
    def __init__(self, master):
        dismiss = tk.Button(master, text = 'dismiss', command = self.on_dismiss)
        ok = tk.Button(master, text = 'ok', command = self.on_ok)
        ok.bind('<Return>', self.on_ok)
        dismiss.bind('<Escape>', self.on_dismiss) 
        ok.focus()
        dismiss.pack(fill = tk.BOTH)
        ok.pack(fill = tk.BOTH)
    def on_ok(self, event = None):
        print("Aww, it's okay!")
    def on_dismiss(self, event = None):
        print("Dismissed!")
root = tk.Tk()
app = App(root)
root.mainloop()

或者,如果您希望 Enter 键全局调用self.on_ok,请将ok.bind更改为master.bind