关于python进度条

最近在做一个应用程序,用Python写的。一边学习,一边实现自己想要的功能。做了好几天,才把登录做好。

现在,在做其中一个功能时,想实现进度条的效果。百度了老半天(英文太烂,比较少用stackoverflow),发现都找不到理想的demo,还有关于Python版本的问题,有时候找来的代码,执行不了,也是很头痛的。

最后,终于给我找到了一个用canvas画布实现的示例,貌似符合我的要求(网址:https://blog.csdn.net/li1615882553/article/details/79204072),废话不多说,直接上我修改后的示例代码
[code lang=”python”]from tkinter import *
import time

# 进度条
class Progress(object):
# 构造函数
def __init__(self, app=None):
# tk窗口
self.app = app
# 画布
self.canvas = Canvas(self.app, width=110, height=30)
# 成员变量
self.tips = StringVar()
# 调用画面内容
self.layout()

# 画布内容
def layout(self):
# 画布的位置
self.canvas.grid(row=0, column=0)
# 进度条的边框线
self.canvas.create_rectangle(10, 10, 100, 25, width=1, outline="blue")
# 文件提示
Label(self.app, textvariable=self.tips).grid(row=0, column=1)

# 更新状态
def update(self, percent=None):
# 进度条
line = self.canvas.create_rectangle(10, 10, 0, 25, width=0, fill="blue")
# 修改进度条长度
self.canvas.coords(line, [10, 10, percent, 25])
# 修改文字提示
self.tips.set(str(percent) + ‘%’)
# 刷新页面
self.app.update()

root = Tk()

p = Progress(root)
for i in range(25):
time.sleep(0.1)
p.update((i + 1) * 4)

mainloop()[/code]
 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注