python gui下载进度条_对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 GUI实现完美进度条的示例详解相关推荐
- python中average什么意思_在Python3 numpy中mean和average的区别详解
mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的.指定权重后,average可以计算一维的加权平均值. 具体如下: import numpy as np ...
- java 抽象 属性_在java中如何定义一个抽象属性示例详解
前言 本文主要给大家介绍的是在java中定义一个抽象属性的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Abstract关键字通常被用于类和方法,用来把某些行为的实现委托给 ...
- python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...
2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...
- python树莓派编程 沃尔弗拉姆_《 Python树莓派编程》——3.3 Python入门-阿里云开发者社区...
本节书摘来自华章出版社<Python树莓派编程>一书中的第3章,第3.3节,作者:[美]沃尔弗拉姆·多纳特(Wolfram Donat)著韩德强 等译,更多章节内容可以访问云栖社区&quo ...
- python中3or5什么意思_示例详解Python3 or Python2 两者之间的差异
每门编程语言在发布更新之后,主要版本之间都会发生很大的变化. 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语言的变化. 本 ...
- pythonxml库_对python 生成拼接xml报文的示例详解
最近临时工作要生成xml报名,通过MQ接口发送.简单小程序. 自增长拼成xml报文 Test_001.py # encoding=utf-8 import time orderId = '' s1= ...
- python二元多次函数拟合_对python实现二维函数高次拟合的示例详解
在参加"数据挖掘"比赛中遇到了关于函数高次拟合的问题,然后就整理了一下源码,以便后期的学习与改进. 在本次"数据挖掘"比赛中感觉收获最大的还是对于神经网络的认识 ...
- python 匿名函数示例_扣丁学堂Python3开发之匿名函数用法示例详解
扣丁学堂Python3开发之匿名函数用法示例详解 2018-07-26 14:01:11 1324浏览 今天扣丁学堂Python培训给大家分享关于Python3匿名函数用法,结合实例形式分析了Pyth ...
- [Python从零到壹] 四十七.图像增强及运算篇之腐蚀和膨胀详解
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
最新文章
- 表达式树 java_表达树—构建表达式树、获取表达式(二)
- Android菜鸟的成长笔记(13)——异步任务(Async Task)
- 光辉之章事件有哪些常规操作?天谕手游事后的补偿真的很安慰?
- H5开发 连接蓝牙打印机 打印标签(斑马ZR628)
- 二、逻辑回归算法梳理
- listView当中有嵌套了有onClickListener的控件时ListView自身的onItemClick无响应的解决方案...
- 2011年CDMA终端谁将给力?
- python画叮当猫_怎么画卡通哆啦A梦(机器猫、蓝胖子、叮当猫) 专家详解
- Android四大组件之间的交互,Android四大组件每个组件的作用?它们都可以开启多进程吗?...
- 大数据工程师简历怎么写,更受到HR青睐?
- 用两个队列实现一个栈
- mysql的explain执行计划_MySQL之Explain(执行计划)
- 定义一个方法,使用随机的字母+数字生成一个6位数的密码
- 把Excel数据填充word模板生成多份word文档
- Linux安装搜狗输入法-openSUSE
- 4G时代 载波聚合——用户、网络双受益
- 计算机应用素描色彩,美术统考素描、色彩、速写考场技巧全攻略
- COUNT、COUNTA、MAX三个函数在excel计数上的应用对比和案例
- 6-1 简单创建对象 (10分) java
- thunderbird无法发送邮件