使用for-loop在Tkinter中创建和使用小部件(Scale)
问题描述:
我目前正面临在Tkinter中创建很多(超过20个)比例尺的问题,并且自然我试图不创建并“手动”使用它们。
创建工作得很好:使用for-loop在Tkinter中创建和使用小部件(Scale)
import numpy as np
def Aux():
a=np.zeros(25)
for ii in range(0,25):
nam='input_a'+str(ii)
a[ii]=nam.get()
return a
问题:nam
仍然是一个STR-对象,因此它不能有一个当我试图获取值发生
for ii in range(0,25):
nam='input_a' + str(ii)
nam = Scale(master, from_=100, to=0, orient=VERTICAL)
nam.grid(row=0, column=2+ii)
问题属性get
。
任何提示?谢谢!
答
保存在列表中你的秤引用
nam = []
for ii in range(0,25):
nam.append(Scale(master, from_=100, to=0, orient=VERTICAL))
nam[-1].grid(row=0, column=2+ii)
然后可以使用nam[ii].get()
答
我发现一本字典是存储部件非常方便,虽然名单将做这件事情很好,如果你只想通过一个整数索引来访问它们:
scales = {}
for ii in range(0,25):
scales[ii] = Scale(...)
这是一个有趣的想法!我只需要整数引用,所以列表使用解决方案对我来说更聪明,但我肯定会偶尔使用你的。 – 2015-03-31 12:14:24