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()