当配置在不确定状态时,是否可以改变Tkinter进度条的运动速度?
发布于 2020-03-04 18:59:46
我找到了一种优雅的方式,以防有人还在找我。
.start()方法可以接受一个参数来指定以毫秒为单位的间隔。
.start(interval)
每隔毫秒开始移动指示符;默认值为50 is。每次都会像调用.step()方法一样移动指示符。
下面是自己尝试的示例代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
p10 = ttk.Progressbar(root, mode='indeterminate', length=200)
p10.pack()
p10.start(10)
p100 = ttk.Progressbar(root, mode='indeterminate', length=200)
p100.pack()
p100.start(100)
p1000 = ttk.Progressbar(root, mode='indeterminate', length=200)
p1000.pack()
p1000.start(1000)
root.mainloop()发布于 2020-02-22 04:12:19
您可以使用after(milliseconds, function_name)定期运行自己的函数,这将使用step()更改进度栏中的值。如果使用不同的milliseconds或在step()中使用不同的值,那么它将以不同的速度移动。
import tkinter as tk
from tkinter import ttk
def change():
p.step(10)
root.after(100, change) # run again after 100ms,
root = tk.Tk()
p = ttk.Progressbar(root, mode='indeterminate')
p.pack()
change() # run first time
root.mainloop()https://stackoverflow.com/questions/60347889
复制相似问题