我做了一个进度条,但我想我的tkinter程序显示一个消息框时,值是100%,有人能帮助我吗?
from tkinter import *
import time
from tkinter import ttk
from tkinter import messagebox
def start_bar():
progress_bar.start(100)
progress_bar.after(100,check)
def check():
if progress_bar['value'] == 100:
messagebox.showinfo("Completion Message", "Progress bar is complete.")
root = Tk()
root.geometry("600x400")
root.title("progressbar")
progress_bar = ttk.Progressbar(root,orient=HORIZONTAL,mode="determinate",length=300)
progress_bar.pack(pady=20)
Button(root,text="start", command=start_bar).pack(pady=10)
root.mainloop()
我把我的代码放进去了所以你可以看到我试了什么。
1条答案
按热度按时间zynd9foi1#
在
check()
函数中添加另一个对progress_bar.after(100, check)
的调用,以便它定期调用自身并轮询进度条的值>= 99
处中断。或者,您可以使用if not progress_bar['value']
* 或 *(可能更“正确/Python”)if progress_bar['value'] == 0
,当条形图再次循环到0时将触发。