我正在尝试学习 Tkinter 模块的基础知识,例如制作按钮、复选框和其他基本小部件。我想制作一个带有两个复选框“音乐”和“视频”的窗口,以及一个“继续”按钮,这样只有在选中“音乐”复选框时该按钮才“启用”。在搜索有关该主题的更多信息时,我发现了跟踪器,但我无法理解以下函数 callme 的定义(即在争论中使用 *)。我正在使用 ubuntu 12.04 和 python 2.7 我输入的代码如下所示。
import tkMessageBox
import Tkinter
top = Tkinter.Tk()
CheckVar1 = Tkinter.IntVar()
CheckVar2 = Tkinter.IntVar()
C1 = Tkinter.Checkbutton(top, text = "Music", variable = CheckVar1, \
onvalue = 1, offvalue = 0, height=5, \
width = 20)
C2 = Tkinter.Checkbutton(top, text = "Video", variable = CheckVar2, \
onvalue = 1, offvalue = 0, height=5, \
width = 20)
def callme(* args):
if args[2] == 'w':
b1['state'] = 'normal'
def exit():
pass
b1 = Tkinter.Button(top, text = "Proceed", command = exit)
b1['state'] = 'disabled'
C1.pack()
C2.pack()
b1.pack()
CheckVar1.trace("w", callme)
CheckVar2.trace("w", callme)
top.mainloop()
另外,有人可以告诉我如何将更多参数传递给 callme 函数。