赞
踩
尝试运行以下程序。你只需要确保你的窗口在你点击Return时有焦点——为了确保它有焦点,首先点击按钮几次直到你看到一些输出,然后不点击任何其他地方点击Return。import tkinter as tk
root = tk.Tk()
root.geometry("300x200")
def func(event):
print("You hit return.")
root.bind('', func)
def onclick():
print("You clicked the button")
button = tk.Button(root, text="click me", command=onclick)
button.pack()
root.mainloop()
然后,在使button click和hitting Return调用同一个函数时,只需稍微调整一下,因为command函数需要是不带参数的函数,而bind函数需要是带一个参数的函数(event对象):import tkinter as tk
root = tk.Tk()
root.geometry("300x200")
def func(event):
print("You hit return.")
def onclick(event=None):
print("You clicked the button")
root.bind('', onclick)
button = tk.Button(root, text="click me", command=onclick)
button.pack()
root.mainloop()
或者,您可以放弃使用按钮的命令参数,而使用bind()将onclick函数附加到按钮,这意味着该函数需要接受一个参数——就像Return:import tkinter as tk
root = tk.Tk()
root.geometry("300x200")
def func(event):
print("You hit return.")
def onclick(event):
print("You clicked the button")
root.bind('', onclick)
button = tk.Button(root, text="click me")
button.bind('', onclick)
button.pack()
root.mainloop()
这是一个班级设置:import tkinter as tk
class Application(tk.Frame):
def __init__(self):
self.root = tk.Tk()
self.root.geometry("300x200")
tk.Frame.__init__(self, self.root)
self.create_widgets()
def create_widgets(self):
self.root.bind('', self.parse)
self.grid()
self.submit = tk.Button(self, text="Submit")
self.submit.bind('', self.parse)
self.submit.grid()
def parse(self, event):
print("You clicked?")
def start(self):
self.root.mainloop()
Application().start()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。