|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
使用OptionMenu,实例化了一个下拉列表,然后用get函数获取他的值,这样写,很简单,能够顺利打印出variable2的值- from tkinter import *
- root = Tk()
- variable2 = StringVar()
- variable2.set("one")
- wi = OptionMenu(root, variable2, "one", "two", "three")
- wi.pack()
- def callback():
- print(variable2.get())
- Button(root, text="点我", command=callback).pack()
- mainloop()
复制代码
但我使用了for 。。 in。。 循环后,实例化了9个OptionMenu,这时候想要获得其中一个的值,就出现了错误。
- from tkinter import *
- root = Tk()
- for i in range(1,10):
- variablei = StringVar()
- variablei.set("one")
- wi = OptionMenu(root, variablei, "one", "two", "three")
- wi.pack()
- def callback():
- print(variable2.get())
- Button(root, text="点我", command=callback).pack()
- mainloop()
复制代码
错误显示:NameError: name 'variable2' is not defined
请教大神,for 。。in。。语句改如何修改,才能连续实例化N个同样的对象,并且能够顺利获取其中某个的值呢?
谢谢
- from tkinter import *
- root = Tk()
- varls=[StringVar()for i in range(1,10)]
- for i,v in enumerate(varls):
- v.set(i)
- OptionMenu(root, v, "one", "two", "three").pack()
- def callback():
- print(varls[2].get())
- Button(root, text="点我", command=callback).pack()
- mainloop()
复制代码
|
|