把刚才那个程序加上进度条
时间: 2024-05-08 21:16:04 浏览: 33
以下是一个示例程序,使用tkinter库创建一个简单的GUI窗口,并在窗口中添加一个进度条。该程序会在点击“开始”按钮后开始运行,进度条会在执行过程中显示进度,直到完成为止。
```python
import tkinter as tk
from tkinter import ttk
import time
class Application:
def __init__(self, master):
self.master = master
self.master.title("进度条示例程序")
self.master.geometry("300x100")
# 创建进度条
self.progressbar = ttk.Progressbar(self.master, orient="horizontal", length=200, mode="determinate")
self.progressbar.pack(pady=10)
# 创建开始按钮
self.start_button = tk.Button(self.master, text="开始", command=self.start)
self.start_button.pack(pady=5)
def start(self):
self.start_button.config(state="disabled") # 禁用开始按钮
self.progressbar['value'] = 0 # 将进度条重置为0
self.progressbar['maximum'] = 100 # 设置进度条最大值为100
for i in range(101):
self.progressbar['value'] = i # 设置进度条当前值
self.master.update() # 更新GUI界面
time.sleep(0.05) # 模拟长时间执行的任务
self.start_button.config(state="normal") # 启用开始按钮
if __name__ == '__main__':
root = tk.Tk()
app = Application(root)
root.mainloop()
```
在这个程序中,我们使用了ttk.Progressbar类创建了一个进度条,并使用command参数将“开始”按钮与start()方法绑定。当用户点击“开始”按钮时,程序会执行start()方法。在start()方法中,我们首先禁用了“开始”按钮,然后将进度条重置为0,并将进度条的最大值设置为100。接着,我们使用for循环模拟长时间执行的任务,并在循环中设置进度条的当前值。每次更新进度条后,我们使用master.update()方法强制更新GUI界面,以便用户看到进度条的变化。最后,我们启用了“开始”按钮。
阅读全文