Progressbar 实例

Progressbar
 - orient 配置进度条的方向:"horizontal" or "vertical"
 - length 配置进度条长度
 - mode 配置进度条模式 
 determinate  --定量进度条
 indeterminate --不定量进度条
 定量进度条
- maximum  最大值,默认为100.0
- value    当前值
- variable   自变量,绑定其他变量
.step(n)  增加步长,默认1.0
不定量进度条
.start(interval=n)   开始自动动画,默认值为50毫秒。数值越小,动画越快

.stop()  停止动画


from tkinter import *
from tkinter import ttk
import time

def manu_increment(*args):
    for i in range(100):
        p1["value"] = i+1
        root.update()
        time.sleep(0.1)

def auto_increment(*args):
    global flag,value
    flag = not flag

    if flag:
        btn2["text"] = "暂停动画"
        p2.start(10)
    else:
        btn2["text"] = "开始动画"
        value = p2["value"]
        p2.stop()
        p2["value"] = value

root = Tk()
root.title("Progressbar组件")
# 定量进度条
p1 = ttk.Progressbar(root, length=200, mode="determinate", orient=HORIZONTAL)
p1.grid(row=1,column=1)
p1["maximum"] = 100
p1["value"] = 0

# 通过指定变量,改变进度条位置
# n = IntVar()
# p1["variable"] = n

# 通过指定步长,改变进度条位置
# p1.step(2)

btn = ttk.Button(root,text="开始动画",command=manu_increment)
btn.grid(row=1,column=0)

# 非定量进度条
flag = False   # 标志位
value = 0      # 进度条位置

p2 = ttk.Progressbar(root, length=200, mode="indeterminate", orient=HORIZONTAL)
p2.grid(row=2,column=1)

btn2 = ttk.Button(root,text="自动动画",command=auto_increment)
btn2.grid(row=2,column=0)

root.mainloop()


你可能感兴趣的:(python)