如何传递一个spinbox值?

时间:2016-12-24 15:02:45

标签: python-3.x

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

1 个答案:

答案 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()