2
我是初學者使用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
並運行該程序,但它沒有區別於該程序的工作。這是爲什麼?
當*修改*全局變量時,您只需要'global'。 – That1Guy