Python中的ttk的Progressbar进度条如何实现?
Python中ttk的进度条如何实现,为什么我运行后,进度条不动
- Python code
from tkinter import *from tkinter import ttkdef run(p): p.start() total = 1 for i in range(1, 10001): total *= i p.stop() return totalif __name__ == "__main__": parent = Tk() label = Label(parent, text="TEST") label.pack() p = ttk.Progressbar(parent, orient = "horizontal", length=200, mode="indeterminate", value=200.0) p.pack() label = Label(parent, text="x") label.pack() x = run(p) print(x) parent.mainloop()
[解决办法]
你在run()里start()又接着stop()这样不行吧,一下子就玩完看不出所以然来...
[解决办法]
单线程阻塞方式是看不到进度条滚动,先看看threading模块吧,run函数里p.start()兼起动一另个工作线程就要马上返回,工作线程结束的地方才调用p.stop().
[解决办法]
或者不要用自动方式,也就是不调用start(),按需更新控件value属性,这样可能容易点...