对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 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python实现模拟时钟代码推荐
Nov 08 Python
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
Python通过future处理并发问题
Oct 17 Python
Python网络编程详解
Oct 31 Python
用python实现对比两张图片的不同
Feb 05 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
python opencv 简单阈值算法的实现
Aug 04 Python
python匿名函数的使用方法解析
Oct 10 Python
keras中的loss、optimizer、metrics用法
Jun 15 Python
浅谈Python 函数式编程
Jun 20 Python
python中time、datetime模块的使用
Dec 14 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 unicode编码和字符串互转的方法
2020/08/12 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
js 获取Listbox选择的值的代码
2010/04/15 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
详解python进行mp3格式判断
2016/12/23 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
pandas的相关系数与协方差实例
2019/12/27 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
Python如何将装饰器定义为类
2020/07/30 Python
python实现马丁策略的实例详解
2021/01/15 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
银行领导证婚词
2014/01/11 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
检讨书模板
2015/01/29 职场文书