Daniel_Zhang 发表于 2021-1-27 17:59:13

如何使用 tkinter 制作进度条[原创]

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

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



此文接上篇

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

代码如下:

**** Hidden Message *****

那么现在就开始正式的教学啦~{:10_254:}

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

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

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

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

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

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

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

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

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

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

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

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

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

将数值设置为保留两位小数{:10_315:}

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

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

石泊远 发表于 2021-1-27 18:21:51

学习,最近想把pygame和tkinter学完

_2_ 发表于 2021-1-27 19:27:44

canvas.itemcongig
这里是不是打错了,按常理应该是 canvas.itemconfig
你也没有说这是属性还是方法(虽然它肯定是方法awa)
这里纯粹是通过命名规则来判断的,如果不是那打扰了

Daniel_Zhang 发表于 2021-1-27 20:04:53

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

_2_ 发表于 2021-1-27 19:27
这里是不是打错了,按常理应该是 canvas.itemconfig
你也没有说这是属性还是方法(虽然它肯定是方法awa)
...

哎呀,确实是打错了,抱歉,已更正{:10_292:}

谢谢{:10_287:}

评论就能看到源代码了

其实文字就是用来注释源代码的,顺便给其他人一些思路和启发

Mike_python小 发表于 2021-1-28 09:53:10

看看

lengyue869 发表于 2021-1-28 10:37:15

看看代碼

波波好棒 发表于 2021-1-28 14:39:31

学习

19924269098 发表于 2021-1-28 16:53:19

学习

3236654291 发表于 2021-1-28 17:28:13

学习

rsj0315 发表于 2021-1-29 08:02:59

看看

小小小菜菜菜 发表于 2021-1-29 23:57:19

666

18090730609 发表于 2021-1-30 07:45:55

谢谢分享!

彩虹七号 发表于 2021-1-30 09:05:28

{:10_254:}

大佛公平的 发表于 2021-1-30 11:39:31

来看看{:10_279:}

青出于蓝 发表于 2021-1-30 11:58:39

看看

weiter 发表于 2021-1-31 13:16:52

还是想要看代码的{:10_257:}

张育玮 发表于 2021-1-31 13:43:36

看看

小甲鱼的铁粉 发表于 2021-1-31 16:33:41

{:10_275:}

yywwf2003 发表于 2021-1-31 16:39:49

跪求一看!!!!!!!!

嘉岳呀 发表于 2021-1-31 18:59:25

加油~
页: [1] 2 3
查看完整版本: 如何使用 tkinter 制作进度条[原创]