Python Tkinter Canvas 实现进度条显示方法
本文介绍如何在 Python Tkinter 中使用 Canvas 组件绘制简易进度条。通过创建矩形区域并利用坐标更新实现动态填充效果,配合 StringVar 显示百分比或完成状态。示例代码包含核心绘制逻辑与模拟更新循环,适用于需要轻量级进度反馈的桌面应用开发场景。
Tkinter Canvas 进度条实现代码
具体实现方案如下所示:
from tkinter import *
import time
#更新进度条函数
def change_schedule(now_schedule,all_schedule):
canvas.coords(fill_rec, (5, 5, 6 + (now_schedule/all_schedule)*100, 25))
root.update()
x.set(str(round(now_schedule/all_schedule*100,2)) + '%')
if round(now_schedule/all_schedule*100,2) == 100.00:
x.set("完成")
root = Tk()
#创建画布
frame = Frame(root).grid(row = 0,column = 0)#使用时将框架根据情况选择新的位置
canvas = Canvas(frame,width = 120,height = 30,bg = "white")
canvas.grid(row = 0,column = 0)
x = StringVar()
#进度条以及完成程度
out_rec = canvas.create_rectangle(5,5,105,25,outline = "blue",width = 1)
fill_rec = canvas.create_rectangle(5,5,5,25,outline = "",width = 0,fill = "blue")
Label(frame,textvariable = x).grid(row = 0,column = 1)
'''
使用时直接调用函数change_schedule(now_schedule,all_schedule)
下面就模拟一下....
'''
for i in range(100):
time.sleep(0.1)
change_schedule(i,99)
mainloop()

该实现方式较为基础,功能尚显粗糙。
以上关于在 Python Tkinter 中使用 Canvas 实现进度条显示的方法即为全部内容,供读者参考,欢迎支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













