如何在Tkinter中制作进度标签

时间:2019-03-25 17:04:22

标签: python tkinter

我想在Tkinter中制作显示进度的标签。目标变量必须来自条目。进度变化时,标签应每次更新

我当前的代码:

from tkinter import *


okno = Tk()


x =IntVar()
y = 0
z = 0

def rup():
    x.get()
    z = 0
    while True:
        if z <= x:
            z += 1
            progresLabel['text'] = "{}/{}".format(z, x)
            okno.update_idletasks()
        else:
            break



okno.geometry('200x100')
mainFrame = Frame(okno, width=200, height=100).place()
progresLabel = Label(mainFrame, text="{}/{}".format(x, z)).place(relx=0.35, rely=0.35)
xEntry = Entry(mainFrame, textvariable=x).place(relx=0.2, rely=0.7)
oneButton = Button(mainFrame, text='run', width=5, command=rup).place(relx=0.35, rely=0.05)

okno.mainloop()

很不幸收到此错误

if z <= x
TypeError: '<=' not supported between instances of 'int' and 'IntVar'

我是python的新手,所以整个代码可能是错误的

1 个答案:

答案 0 :(得分:2)

您不能简单地将intIntVar进行比较。您需要先调用IntVar的.get方法:

if z <= x.get()