微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行时不更新进度条

如何解决运行时不更新进度条

我是新来的,我正在努力学习 Python。我在打印值期间更新进度条时遇到问题。 i 到 100 结束时,我的进度条直接从 0 更新到 100。是否可以在每次打印一个值后更新进度条?我的目标是查看计数进展了多远。这是我的代码

from tkinter import *
from tkinter import ttk

def step():
    progressbar['value']=0
    for i in range(1,100):
        print(i)
        progressbar['value']+=20

master=Tk()

progressbar=ttk.Progressbar(master,orient="horizontal",length=300,mode="determinate")
progressbar['maximum']=100
progressbar.pack()

button=Button(master,text="Count",command=step)
button.pack()

master.mainloop()

如果有人能帮助我解决这个问题,我将不胜感激。

解决方法

i 到 100 结束时,我的进度条直接从 0 更新到 100。

它确实有明显的可能性,但速度太快了,你看不到它。请添加import time并替换

def step():
    progressbar['value']=0
    for i in range(1,100):
        print(i)
        progressbar['value']+=20

使用

def step():
    progressbar['value']=0
    for i in range(1,100):
        print(i)
        progressbar['value']+=1
        time.sleep(1.0)

然后运行你的代码并写下进度条是否从 0 平滑地运行到 100 或仍然跳到 100?

,

这就行了。

# coding: utf-8
from tkinter import *
from tkinter import ttk
import time

master = Tk() # I have taken this one to start of program.

def step():
    progressbar['value']=0
    for i in range(1,100):
        print(i)
        progressbar['value']+=1
        master.update_idletasks()  # Update all the geometry related tasks etc. and calls all pending tasks. You require this too with time.
        time.sleep(0.05)  # Lesser value means fast,higher value means slow

progressbar=ttk.Progressbar(master,orient="horizontal",length=300,mode="determinate")
progressbar['maximum']=100
progressbar.pack()

button=Button(master,text="Count",command=step)
button.pack()

master.mainloop()

输出:There you go 3/4th of the way

,

对大威回答的反应:

enter image description here

正如你在这里看到的,我的窗口在打印值时冻结了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?