2015-03-31 45 views
0

我目前正面临在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

任何提示?谢谢!

回答

1

保存在列表中你的秤引用

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()

1

我发现一本字典是存储部件非常方便,虽然名单将做这件事情很好,如果你只想通过一个整数索引来访问它们:

scales = {} 
for ii in range(0,25): 
    scales[ii] = Scale(...) 
+0

这是一个有趣的想法!我只需要整数引用,所以列表使用解决方案对我来说更聪明,但我肯定会偶尔使用你的。 – 2015-03-31 12:14:24

相关问题