Tkinter Widget的command参数
在前面介绍了许多Widget控件,许多Widget的构造方法内可以看到command参数,例如,功能按钮(Button)、数值滚动条(Scale)等。其实这就是一个Widget的事件绑定的概念,当按钮事件发生、当数值滚动条值改变……就可以通过command=callback,设计callback函数,这个callback函数就是事件处理程序。
示例1
当单击功能按钮或是选择复选框时,窗口下方会做出所执行的动作,所利用的就是Widget控件构造方法内的command参数。
from tkinter import *
def pythonClicked(): # Python复选框事件处理程序
if varPython.get():
lab.config(text="Select Python")
else:
lab.config(text="Unselect Python")
def javaClicked(): # Java复选框事件处理程序
if varJava.get():
lab.config(text="Select Java")
else:
lab.config(text="Unselect Java")
def buttonClicked():
lab.config(text="Button clicked")
root = Tk()
root.title("apidemos.com") # 窗口标题
root.geometry("300x180") # 窗口宽300高180
btn = Button(root,text="Click Me",command=buttonClicked)
btn.pack(anchor=W)
varPython = BooleanVar()
cbnPython = Checkbutton(root,text="Python",variable=varPython,
command=pythonClicked)
cbnPython.pack(anchor=W)
varJava = BooleanVar()
cbnJava = Checkbutton(root,text="Java",variable=varJava,
command=javaClicked)
cbnJava.pack(anchor=W)
lab = Label(root,bg="yellow",fg="blue",
height=2,width=12,
font="Times 16 bold")
lab.pack()
root.mainloop()
输出: