Как сделать прогресс лейбл в Tkinter - PullRequest
0 голосов
/ 25 марта 2019

Я хочу сделать ярлык в 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 Ответ

2 голосов
/ 25 марта 2019

Вы не можете просто сравнить int с IntVar. Сначала вам нужно вызвать метод .get в IntVar:

if z <= x.get()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...