鱼C论坛

 找回密码
 立即注册
查看: 10389|回复: 45

[技术交流] 如何使用 tkinter 制作进度条[原创]

[复制链接]
发表于 2021-1-27 17:59:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Daniel_Zhang 于 2021-1-27 20:04 编辑

Hello 大家好,这篇帖子将会详细讲述如何在 tkinter中插入一个进度条
如图所示:

截屏2021-01-27 17.27.41.png

此文接上篇

https://fishc.com.cn/thread-189217-1-1.html

代码如下:

游客,如果您要查看本帖隐藏内容请回复


那么现在就开始正式的教学啦~

首先 import tkinter 创建窗口,mainloop是必要哒

然后我们需要一个 字符串 来储存百分比的数值,即 percentage

进度条通常是长方形的,因此需要制作一个长方形的方框在画布上

因此,先放置一个画布在窗口底端,再在画布上放置一个长方形,此处设计一个绿色的

之前已经有了一个专门的 str 用来放置 百分比数值,那么就要将它显示出来啦

所以,基于 canvas,create_text是一个不错的选择
此处切记要在 percentage 后面加入一个 get() 函数,否则无法读取值

那么此时我们要让它动起来该怎么做呢?

首先,模拟数值的增加,使用一个 for 循环,每次增加 1, 即为增加一个百分点

到了这一步,我们就需要一个函数用来更新 进度条和显示的数值

time.sleep(0.1) 为了避免速度过快,可加可不加

接下来就是让进度条动态显示
each / total_download * 1000        # each / total_download 即为百分比,1000为 窗口的宽度

window.update() 为更新窗口,此步骤尤为重要,否则将无法刷新进度条

percentage 也需要刷新喔,费尽千辛万苦,才寻找到了更新之法,canvas.itemconfig

将数值设置为保留两位小数

最后为了显示方便,添加了一个额外的功能,当进度条超过 55% 时,改变显示颜色~

那么现在,我们就有了一条可以自动行走的进度条啦~更改 total_download 的数值,可以实现不同情况下的进度条展示~

评分

参与人数 2荣誉 +6 鱼币 +6 收起 理由
小伤口 + 1 + 1 今天只剩这么多辽
weiter + 5 + 5 不知道哪位捷足先登加到专辑里了

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-27 18:21:51 | 显示全部楼层
学习,最近想把pygame和tkinter学完
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-27 19:27:44 From FishC Mobile | 显示全部楼层
canvas.itemcongig

这里是不是打错了,按常理应该是 canvas.itemconfig
你也没有说这是属性还是方法(虽然它肯定是方法awa)
这里纯粹是通过命名规则来判断的,如果不是那打扰了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-27 20:04:53 | 显示全部楼层
本帖最后由 Daniel_Zhang 于 2021-1-27 20:06 编辑
_2_ 发表于 2021-1-27 19:27
这里是不是打错了,按常理应该是 canvas.itemconfig
你也没有说这是属性还是方法(虽然它肯定是方法awa)
...


哎呀,确实是打错了,抱歉,已更正

谢谢

评论就能看到源代码了

其实文字就是用来注释源代码的,顺便给其他人一些思路和启发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-28 09:53:10 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-28 10:37:15 | 显示全部楼层
看看代碼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-28 14:39:31 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-28 16:53:19 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-28 17:28:13 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-29 08:02:59 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-29 23:57:19 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-30 07:45:55 | 显示全部楼层
谢谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-30 09:05:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-30 11:39:31 | 显示全部楼层
来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-30 11:58:39 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-31 13:16:52 | 显示全部楼层
还是想要看代码的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-31 13:43:36 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-31 16:33:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-31 16:39:49 | 显示全部楼层
跪求一看!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-31 18:59:25 | 显示全部楼层
加油~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 00:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表