在用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实现完美进度条的示例详解相关推荐

  1. python中average什么意思_在Python3 numpy中mean和average的区别详解

    mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的.指定权重后,average可以计算一维的加权平均值. 具体如下: import numpy as np ...

  2. java 抽象 属性_在java中如何定义一个抽象属性示例详解

    前言 本文主要给大家介绍的是在java中定义一个抽象属性的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Abstract关键字通常被用于类和方法,用来把某些行为的实现委托给 ...

  3. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  4. python树莓派编程 沃尔弗拉姆_《 Python树莓派编程》——3.3 Python入门-阿里云开发者社区...

    本节书摘来自华章出版社<Python树莓派编程>一书中的第3章,第3.3节,作者:[美]沃尔弗拉姆·多纳特(Wolfram Donat)著韩德强 等译,更多章节内容可以访问云栖社区&quo ...

  5. python中3or5什么意思_示例详解Python3 or Python2 两者之间的差异

    每门编程语言在发布更新之后,主要版本之间都会发生很大的变化. 在本文中,Vinodh Kumar 通过示例解释了 Python 2 和 Python 3 之间的一些重大差异,以帮助说明语言的变化. 本 ...

  6. pythonxml库_对python 生成拼接xml报文的示例详解

    最近临时工作要生成xml报名,通过MQ接口发送.简单小程序. 自增长拼成xml报文 Test_001.py # encoding=utf-8 import time orderId = '' s1= ...

  7. python二元多次函数拟合_对python实现二维函数高次拟合的示例详解

    在参加"数据挖掘"比赛中遇到了关于函数高次拟合的问题,然后就整理了一下源码,以便后期的学习与改进. 在本次"数据挖掘"比赛中感觉收获最大的还是对于神经网络的认识 ...

  8. python 匿名函数示例_扣丁学堂Python3开发之匿名函数用法示例详解

    扣丁学堂Python3开发之匿名函数用法示例详解 2018-07-26 14:01:11 1324浏览 今天扣丁学堂Python培训给大家分享关于Python3匿名函数用法,结合实例形式分析了Pyth ...

  9. [Python从零到壹] 四十七.图像增强及运算篇之腐蚀和膨胀详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. 表达式树 java_表达树—构建表达式树、获取表达式(二)
  2. Android菜鸟的成长笔记(13)——异步任务(Async Task)
  3. 光辉之章事件有哪些常规操作?天谕手游事后的补偿真的很安慰?
  4. H5开发 连接蓝牙打印机 打印标签(斑马ZR628)
  5. 二、逻辑回归算法梳理
  6. listView当中有嵌套了有onClickListener的控件时ListView自身的onItemClick无响应的解决方案...
  7. 2011年CDMA终端谁将给力?
  8. python画叮当猫_怎么画卡通哆啦A梦(机器猫、蓝胖子、叮当猫) 专家详解
  9. Android四大组件之间的交互,Android四大组件每个组件的作用?它们都可以开启多进程吗?...
  10. 大数据工程师简历怎么写,更受到HR青睐?
  11. 用两个队列实现一个栈
  12. mysql的explain执行计划_MySQL之Explain(执行计划)
  13. 定义一个方法,使用随机的字母+数字生成一个6位数的密码
  14. 把Excel数据填充word模板生成多份word文档
  15. Linux安装搜狗输入法-openSUSE
  16. 4G时代 载波聚合——用户、网络双受益
  17. 计算机应用素描色彩,美术统考素描、色彩、速写考场技巧全攻略
  18. COUNT、COUNTA、MAX三个函数在excel计数上的应用对比和案例
  19. 6-1 简单创建对象 (10分) java
  20. thunderbird无法发送邮件

热门文章

  1. Python3.6 所有内置函数
  2. 记录Jenkins+gitlab+maven
  3. for in循环利用下面的属性和方法可以把对象里的所有属性的值都取出来
  4. php调用拼多多的接口
  5. noip模拟赛 寻宝之后
  6. 6. 分类图显示和保存
  7. Codeforces Round #438 B. Race Against Time
  8. 安全双标准或成拖垮企网防护的新威胁
  9. I.MX6 2G DDR3 16G eMMC
  10. iOS通知的整理笔记