2016-12-24 12 views
0

スピンボックスの値を取得した後、ループのに渡そうとしています。ループは、値が文字列またはバイトまたは数値でなければならないと不平を言う。私が手作業で数値を(0,5)のループコードに入力すると動作します。私は置き換えたい スピンボックスの値を.....これはできますか?スピンボックスの値を渡すにはどうすればいいですか?

+1

はStackOverflowのために歓迎します! [質問の方法](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() 
関連する問題