我想在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的新手,所以整个代码可能是错误的
答案 0 :(得分:2)
您不能简单地将int
与IntVar
进行比较。您需要先调用IntVar的.get方法:
if z <= x.get()