获取spinbox值后,我试图将其传递给 for in range 循环。循环抱怨值必须是字符串或字节或数字。当我手动将任何数字放入范围(0,5)循环代码时,它可以工作。我想替换 具有spinbox值的 5 .....可以这样做吗?
答案 0 :(得分: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()