对python GUI实现完美进度条的示例详解


Posted in Python onDecember 13, 2018

在用python做一个GUI界面时,想搞一个进度条实时显示下载进度,但查阅很多博客,最后的显示效果都类似下面这种:

对python GUI实现完美进度条的示例详解

这种效果在CMD界面看着还可以,但放到图形界面时就有点丑了,所以我用Canvas重新做了一个进度条,完美满足了我的要求,看着也比较舒服。

import time
import threading
from tkinter import *
 
 
def update_progress_bar():
	for percent in range(1, 101):
		hour = int(percent/3600)
		minute = int(percent/60) - hour*60
		second = percent % 60
		green_length = int(sum_length * percent / 100)
		canvas_progress_bar.coords(canvas_shape, (0, 0, green_length, 25))
		canvas_progress_bar.itemconfig(canvas_text, text='%02d:%02d:%02d' % (hour, minute, second))
		var_progress_bar_percent.set('%0.2f %%' % percent)
		time.sleep(1)
 
 
def run():
	th = threading.Thread(target=update_progress_bar)
	th.setDaemon(True)
	th.start()
 
 
top = Tk()
top.title('Progress Bar')
top.geometry('800x500+290+100')
top.resizable(False, False)
top.config(bg='#535353')
 
# 进度条
sum_length = 630
canvas_progress_bar = Canvas(top, width=sum_length, height=20)
canvas_shape = canvas_progress_bar.create_rectangle(0, 0, 0, 25, fill='green')
canvas_text = canvas_progress_bar.create_text(292, 4, anchor=NW)
canvas_progress_bar.itemconfig(canvas_text, text='00:00:00')
var_progress_bar_percent = StringVar()
var_progress_bar_percent.set('00.00 %')
label_progress_bar_percent = Label(top, textvariable=var_progress_bar_percent, fg='#F5F5F5', bg='#535353')
canvas_progress_bar.place(relx=0.45, rely=0.4, anchor=CENTER)
label_progress_bar_percent.place(relx=0.89, rely=0.4, anchor=CENTER)
# 按钮
button_start = Button(top, text='开始', fg='#F5F5F5', bg='#7A7A7A', command=run, height=1, width=15, relief=GROOVE, bd=2, activebackground='#F5F5F5', activeforeground='#535353')
button_start.place(relx=0.45, rely=0.5, anchor=CENTER)
 
top.mainloop()

显示效果如下:

对python GUI实现完美进度条的示例详解

以上这篇对python GUI实现完美进度条的示例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3基础之基本数据类型概述
Aug 13 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
Python中的id()函数指的什么
Oct 17 Python
书单|人生苦短,你还不用python!
Dec 29 Python
Django  ORM 练习题及答案
Jul 19 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
python爬虫 正则表达式解析
Sep 28 Python
python是否适合网页编程详解
Oct 04 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
Jul 14 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
Python 键盘事件详解
Nov 11 Python
PyTorch 1.0 正式版已经发布了
Dec 13 #Python
修改python plot折线图的坐标轴刻度方法
Dec 13 #Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 #Python
Python实现的各种常见分布算法示例
Dec 13 #Python
Python线性拟合实现函数与用法示例
Dec 13 #Python
Python基于百度云文字识别API
Dec 13 #Python
Python3实现获取图片文字里中文的方法分析
Dec 13 #Python
You might like
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
Move.js入门
2017/02/08 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
vue router 组件的高级应用实例代码
2019/04/08 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
python交换两个变量的值方法
2019/01/12 Python
mac使用python识别图形验证码功能
2020/01/10 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
旷课检讨书2000字
2014/01/14 职场文书
高一新生军训感言
2014/03/02 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年司法所工作总结
2014/11/22 职场文书
芙蓉镇观后感
2015/06/10 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
Python实现拼音转换
2021/06/07 Python
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang