2016-12-24 88 views
0

獲得spinbox值後,我試圖將其傳遞給範圍爲循環的。該循環抱怨值必須是字符串或字節或數字。當我手動將任何數字放入範圍(0,5)循環代碼時,它都可以工作。我想用spinbox值替換 .....可以這樣做嗎?如何傳遞spinbox值?

+1

歡迎計算器!請閱讀 [如何提出問題](https://stackoverflow.com/help/asking)並提供 [最小,完整且可驗證的示例](https://stackoverflow.com/help/mcve) 重現您的問題。 –

回答

1

您需要將從.get()獲得的值轉換爲與int()一致的整數。

試試這個:

from tkinter import * 

class App: 

    def __init__(self, master): 

     frame = Frame(master) 
     frame.pack() 

     self.sb = Spinbox(frame, from_=0, to=10) 
     self.sb.pack(side=LEFT) 

     self.hi_there = Button(frame, text="Go", command=self.run) 
     self.hi_there.pack(side=LEFT) 

    def run(self): 
     for i in range(int(self.sb.get())): 
      print(i) 

root = Tk() 

app = App(root) 

root.mainloop()