我是初学者使用 Tkinter 模块进行一些非常基本的 GUI 编程。我尝试运行该程序,其源代码是从另一个网页复制的。
from Tkinter import *
def sel():
selection = "You selected the option " + str(var.get())
label.config(text = selection)
root = Tk()
var = IntVar()
R1 = Radiobutton(root, text="Option 1", variable=var, value=1,
command=sel)
R1.pack( anchor = W )
R2 = Radiobutton(root, text="Option 2", variable=var, value=2,
command=sel)
R2.pack( anchor = W )
R3 = Radiobutton(root, text="Option 3", variable=var, value=3,
command=sel)
R3.pack( anchor = W)
label = Label(root)
label.pack()
root.mainloop()
我的疑问是,每当我们在函数中访问全局对象时,我们都必须编写
global object_name
然后该函数正常工作,否则该函数会生成自己的局部变量副本。那么为什么我们不在函数 sel() 的定义中做同样的事情呢?我尝试在 sel() 的定义中添加以下语句?还,
global label
global var
并运行该程序,但它对程序的工作没有任何影响。这是为什么?