2015-03-31 47 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

相關問題