tkin的progressbar有问题

2024-09-29 23:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码

janela_barra=Toplevel()
janela_barra.title("Processando...")
janela_barra["bg"]="light grey"
janela_barra.minsize(width=400, height=80)
janela_barra.maxsize(width=400, height=80)
comprimento = janela_barra.winfo_screenwidth()
altura = janela_barra.winfo_screenheight()
x = (comprimento/2)-(400/2)
y = (altura/2)-(80/2)
janela_barra.geometry("400x80+%d+%d" % (x, y))
janela_barra.iconbitmap('icon6.ico')
pb = ttk.Progressbar(janela_barra, orient=HORIZONTAL, length=200, mode='determinate')
pb.grid(column=0,row=0)
pb["value"]=0 
pb["maximum"]=100

然后在a中有一个:

^{pr2}$

其中tamanho是for的迭代次数(现在是420),但问题是,它只打开一个窗口然后关闭,我看不到progressbar实际起作用,不管我增加了多少tamanho


Tags: 密码titlewidthlightbgheightpbtoplevel
1条回答
网友
1楼 · 发布于 2024-09-29 23:31:07

只需在循环中添加sleep(来自模块time)就可以看到进程。下面是一个例子:

from tkinter import Tk, Button, Toplevel
from tkinter import ttk
from time import sleep

root = Tk()

def fct_run_for():
    top=Toplevel(root)
    top.title("Progression")
    pb = ttk.Progressbar(top, orient="horizontal", length=200, mode='determinate')
    pb.grid(column=0,row=0)
    pb["value"]=0 
    pb["maximum"]=100
    for i in range(100):
        pb["value"] += 1
        pb.update()
        sleep(0.1)

Button(root, text="Run", command=fct_run_for).pack()
root.mainloop()

相关问题 更多 >

    热门问题