0
我的python代碼有問題。我正在使用tkinter在python中編寫一個圖形用戶界面,其中顯示了幾個塊,其中包含大約10行,每行4個單選按鈕,一個輸入域和一個比例尺。下面的代碼在python中爲循環聲明可調用變量
for r,v,mi,ma,i in zip(self.radiobuttonShapes, self.valueShapes, self.minShapes, self.maxShapes, range(1,10)):
ttk.Label(self.Shape, text="Shape " + str(i)).grid(column=0, row=i)
ttk.Radiobutton(self.Shape, text="Off", variable=r, value=1, command=self.resetAllRadiosShape).grid(column=1, row=i)
ttk.Radiobutton(self.Shape, text="Max", variable=r, value=2, command=self.resetAllRadiosShape).grid(column=2, row=i)
ttk.Radiobutton(self.Shape, text="Min", variable=r, value=3, command=self.resetAllRadiosShape).grid(column=3, row=i)
ttk.Radiobutton(self.Shape, text="Approx", variable=r, value=4, command=self.resetAllRadiosShape).grid(column=4, row=i)
ttk.Entry(self.Shape, textvariable=v).grid(column=5, row=i)
ttk.Scale(self.Shape, from_=mi, to=ma, variable=v).grid(column=6, row=i)
這大多工作正常。 當我想要添加一個標籤以將其全部放入並擴展該標籤時,出現了問題,包含並輸入字段和一個比例尺,以與approx選項一起使用。
我的問題包括無法即時創建變量,並能夠通過之後的方法訪問它們。
可能不太清楚,但我認爲下面的虛擬代碼更容易。我希望能夠使其部分處於非活動狀態(大約未選擇時的近場)。
for i in 1 2 3 4 5 6 7 8 9
self.outerLabel$(i) = ttk.Label(self.Shape).grid(row=i)
self.upperLabel$(i) = ttk.Label(self.outerLabel$(i)).grid(row=0)
ttk.Radiobutton(self.upperLabel$(i)).grid(column=0)
ttk.Radiobutton(self.upperLabel$(i)).grid(column=1)
ttk.Radiobutton(self.upperLabel$(i)).grid(column=2)
ttk.Radiobutton(self.upperLabel$(i)).grid(column=3)
ttk.Entry(self.upperLabel$(i)).grid(column=4)
ttk.Scale(self.upperLabel$(i)).grid(column=5)
self.lowerLabel$(i) = ttk.Label(self.outerLabel$(i)).grid(row=1)
ttk.Entry(self.lowerLabel$(i)).grid(column=0)
ttk.Scale(self.lowerLabel$(i)).grid(column=1)
self.lowerLabel$(i).configure(state=DISABLED)
我試圖使用一個字典,但python告訴我,我不能在dict中存儲可調用變量。 – wadum 2012-04-10 20:14:44
@wadum - 您可以將您看到的錯誤添加到您的問題中嗎?您應該能夠將函數和可調用類作爲字典值,儘管可能不是字典鍵。 – 2012-04-10 20:17:16
@ F.J我很抱歉,一定寫了別的錯誤,現在作品美化:)謝謝! – wadum 2012-04-10 20:31:18