python tk 点击按钮后弹出一个进度条窗口,等待进度条的加载完毕后,在label中插入一条即将在5秒后关闭进度条窗口的提示
时间: 2024-02-11 14:04:41 浏览: 143
你可以使用`Toplevel`方法创建一个新的窗口作为进度条窗口,并在其中添加`Label`和`Progressbar`控件。然后使用`after()`方法在进度条加载完毕后,将`Label`控件中的文本修改为“即将在5秒后关闭进度条窗口”。最后,使用`after()`方法来实现定时关闭进度条窗口。以下是一个示例代码:
```python
import tkinter as tk
import tkinter.ttk as ttk
def close_progressbar():
progressbar_window.destroy()
def update_progressbar():
progress_bar.step(10)
if progress_bar["value"] < 100:
progressbar_window.after(100, update_progressbar)
else:
progress_label.config(text="即将在5秒后关闭进度条窗口")
progressbar_window.after(5000, close_progressbar)
def show_progressbar():
global progressbar_window, progress_label, progress_bar
progressbar_window = tk.Toplevel(root)
progressbar_window.title("进度条窗口")
progressbar_window.geometry("300x100")
progress_label = tk.Label(progressbar_window, text="正在加载进度条...")
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)
progressbar_window.after(10, update_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`控件。当点击主窗口中的按钮时,将会弹出进度条窗口,并在`Progressbar`控件中显示进度条。使用`after()`方法在进度条加载完毕后,将`Label`控件中的文本修改为“即将在5秒后关闭进度条窗口”。最后,使用`after()`方法在5秒后自动关闭进度条窗口。
阅读全文