用于长时间运行任务的单进程条(基于Tkinter)
项目描述
此软件提供用于长时间运行任务的非常简单的进度条。
设计在一定程度上类似于EasyGUI,允许简单的脚本被GUI化,而无需重构为回调和事件循环。它可以自然地作为EasyGUI工具的补充。界面可能不会那么简单,但希望它只是稍微复杂一些。
progress_meter基于Michael Lange的此代码。
高级接口看起来是这样的
from progress_meter import withprogress @withprogress(300, color="green") def demo(foo, bar=None): for i in range(300): # Do one (or a few) steps of processing, then... yield i demo()
您可以使用异常来检查用户是否在任务完成之前取消了进程
try: demo() except UserCancelled: print("Cancelled") else: print("Completed")
还有一个较低级别的接口,您可以直接实例化窗口
from progress_meter import MeterWindow def _demostep(meter, value): meter.set(value) if value < 1.0: value = value + 0.005 meter.after(50, lambda: _demostep(meter, value)) else: meter.set(value, 'Demo successfully finished') def demo(): root = MeterWindow(className='meter demo') root.meter.set(0.0, 'Starting demo...') root.after(1000, lambda: _demostep(root.meter, 0.0)) root.mainloop()
要在更完整的GUI中单独使用进度条,您可以使用此模块中的Meter类(它继承自tkinter.Frame)。
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
progress_meter-1.0.zip (5.1 kB 查看哈希值)
progress_meter-1.0.tar.gz (4.3 kB 查看哈希值)