gpt4 book ai didi

python - 如何循环更新进度条?

转载 作者:太空狗 更新时间:2023-10-30 01:06:33 24 4
gpt4 key购买 nike

在循环中更新 Tkinter 进度条的简单方法是什么?

我需要一个没有太多困惑的解决方案,这样我就可以轻松地在我的脚本中实现它,因为它对我来说已经相当复杂了。

假设代码是:

from Tkinter import *
import ttk


root = Tk()
root.geometry('{}x{}'.format(400, 100))
theLabel = Label(root, text="Sample text to show")
theLabel.pack()


status = Label(root, text="Status bar:", bd=1, relief=SUNKEN, anchor=W)
status.pack(side=BOTTOM, fill=X)

root.mainloop()

def loop_function():
k = 1
while k<30:
### some work to be done
k = k + 1
### here should be progress bar update on the end of the loop
### "Progress: current value of k =" + str(k)


# Begining of a program
loop_function()

最佳答案

这是一个持续更新 ttk 进度条的快速示例。您可能不想在 GUI 中放置 sleep。这只是为了减慢更新速度,以便您可以看到它的变化。

from Tkinter import *
import ttk
import time

MAX = 30

root = Tk()
root.geometry('{}x{}'.format(400, 100))
progress_var = DoubleVar() #here you have ints but when calc. %'s usually floats
theLabel = Label(root, text="Sample text to show")
theLabel.pack()
progressbar = ttk.Progressbar(root, variable=progress_var, maximum=MAX)
progressbar.pack(fill=X, expand=1)


def loop_function():

k = 0
while k <= MAX:
### some work to be done
progress_var.set(k)
k += 1
time.sleep(0.02)
root.update_idletasks()
root.after(100, loop_function)

loop_function()
root.mainloop()

关于python - 如何循环更新进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36516497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com