tkinter弹出进度条

Tkinter弹出进度条

qq_29961595

于 2022-01-19 11:30:57 发布

149
 收藏
文章标签: python
版权
Toplevel控件类似于Frame,但可以产生一个独立的窗口。

#-*- encoding:utf-8 -*-
from tkinter import *
from tkinter.ttk import *
import time
scale = 100
 
root = Tk()
root.title("任务进度可视化")
 
def create():
    top = Toplevel()
    top.title('Python')
 
    pb = Progressbar(top, length=200, mode="determinate", orient=HORIZONTAL)
    pb.pack(padx=10, pady=20)
    pb["maximum"] = 100
    pb["value"] = 0
    
    btn.configure(text="系统忙碌中...",state=DISABLED)
    print("\n"*2)
    print("执行开始".center(scale+28,'-'))
    start = time.perf_counter()
    for i in range(scale+1):
        pb["value"] = i      # 每次更新1
        root.update()            # 更新画面
        a = '*' * i
        b = '.' * (scale - i)
        c = (i/scale)*100
        t = time.perf_counter() - start
        print("\r任务进度:{:>3.0f}% [{}->{}]消耗时间:{:.2f}s".format(c,a,b,t),end="")
        time.sleep(0.03)
    print("\n"+"执行结束".center(scale+28,'-'))
    btn.configure(text="重启任务",state=NORMAL)
 
btn = Button(root, text = "启动任务", command = create)
btn.pack()
 
root.mainloop()
运行效果:



 
————————————————
版权声明:本文为CSDN博主「qq_29961595」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29961595/article/details/122577174

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用`Toplevel`方法创建一个新的窗口作为进度条窗口,并在其中添加`Label`和`Progressbar`控件,然后使用`after()`方法来实现定时关闭进度条窗口。以下是一个示例代码: ```python import tkinter as tk import tkinter.ttk as ttk def close_progressbar(): progressbar_window.destroy() def show_progressbar(): global progressbar_window progressbar_window = tk.Toplevel(root) progressbar_window.title("进度条窗口") progressbar_window.geometry("300x100") progress_label = tk.Label(progressbar_window, text="即将在5秒后关闭进度条窗口") progress_label.pack(padx=20, pady=10) progress_bar = ttk.Progressbar(progressbar_window, length=200, mode="determinate") progress_bar.pack(padx=20, pady=10) progress_bar.start(10) # 5秒后自动关闭进度条窗口 progressbar_window.after(5000, lambda: close_progressbar()) root = tk.Tk() root.geometry("300x200") root.title("主窗口") button = tk.Button(root, text="打开进度条窗口", command=show_progressbar) button.pack(padx=20, pady=20) root.mainloop() ``` 该代码中,我们使用`Toplevel()`方法创建一个进度条窗口,其中包含一个`Label`和一个`Progressbar`控件,使用`after()`方法在5秒后自动关闭进度条窗口,并且使用`destroy()`方法关闭进度条窗口。同时,在进度条窗口的`Label`控件中输出即将在5秒后关闭进度条窗口。当点击主窗口中的按钮时,将会弹出进度条窗口,并在主窗口中显示一个按钮。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值