pysimplegui模块实现进度条
模块 实现 进度条
2023-09-14 08:59:07 时间
一、代码
import PySimpleGUI as sg layout = [[sg.Text('任务完成进度')], [sg.ProgressBar(1000, orientation='h', size=(20, 20), key='progressbar')], [sg.Cancel()]] window = sg.Window('机器人执行进度', layout) progress_bar = window['progressbar'] for i in range(1000): event, values = window.read(timeout=10) if event == 'Cancel' or event is None: break progress_bar.UpdateBar(i + 1) window.close()
二、进阶应用
import pandas as pd path = r"*****" df = pd.read_excel(path) layout = [[sg.Text('任务完成进度')], [sg.Text('', size=(5, 1), font=('Helvetica', 15), justification='center', key='text')], [sg.ProgressBar(len(df), orientation='h', size=(50, 20), key='progressbar')], [sg.Cancel()]] window = sg.Window('机器人执行进度', layout) progress_bar = window['progressbar'] # For循环 for i in range(0, len(df)): print(df.iloc[i]) time.sleep(1) #假设处理的时间 event, values = window.read(timeout=10) if event == 'Cancel' or event is None: break progress_bar.UpdateBar(i + 1) window['text'].update('{}%'.format(int(i / len(df) * 100))) window.close()
三、把进度条装进装饰器
import pandas as pd from functools import wraps def Create_progress_bar(df): def wrapper(func): @wraps(func) def inner(*args,**kwargs): layout = [[sg.Text('任务完成进度')], [sg.Text('', size=(5, 1), font=('Helvetica', 15), justification='center', key='text')], [sg.ProgressBar(df.shape[0], orientation='h', size=(50, 20), key='progressbar')], [sg.Cancel()]] window = sg.Window('机器人执行进度', layout) progress_bar = window['progressbar'] # For循环 for i in range(0, df.shape[0]): func(i,*args,**kwargs) event, values = window.read(timeout=10) if event == 'Cancel' or event is None: break progress_bar.UpdateBar(i + 1) window['text'].update('{}%'.format(int(i / df.shape[0] * 100))) window.close() return inner return wrapper path = r"*************" df = pd.read_excel(path) @Create_progress_bar(df) def process(i:int): # i是df的行数 # 处理过程 print(df.iloc[i,0]) time.sleep(0.5) process()
相关文章
- metasploit常用服务扫描和利用模块
- JavaWeb_(视频网站)_四、博客模块1
- Python基础(12)--模块
- 第三十六节,os系统级别操作模块
- 4-02python语法基础-内置模块-re模块
- Python基于socket模块实现UDP通信功能示例
- python模块typing的作用
- Atitit 项目管理优化体系图 第4章 项目整合管理 开始 计划 执行 监控 变更 结束 第5章 项目范围管理 SOW工作说明书 成员通讯录 wbs大概模块级别 第6章 项目时间
- atitit.TokenService token服务模块的设计
- ATITIT.翻译模块的设计与实现 api attilax 总结
- Android 9.0 系统管控蓝牙模块的启用和禁用功能实现
- 妙啊,这14个经典的 Python 代码模块真香
- Python编程:WSGI服务器的参考实现wsgiref模块
- Python编程:dateutil模块实现月份相加减
- 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ② ( buildSrc 目录中实现 Gradle 插件 | 实现 Gradle 插件代码 | 模块引入插件并编译 )
- Python模块xml.etree.ElementTree
- Verilog模块与端口
- 第三十章 linux-模块的文件格式与EXPORT_SYMBOL的实现
- 用JSP实现的商城购物车模块
- 单片机比赛准备02-蓝桥杯-模块练习
- 太实用了!Schedule模块, Python 周期任务神器!
- 综合案例:利用ansible常用七种模块实现备份系统的部署及告警(十一)
- 模块说明(四)