tkinter进度条,自动触发
时间: 2024-10-15 08:29:26 浏览: 31
Tkinter库中的Progressbar(进度条)可以用来显示任务的执行进度。为了实现自动触发并更新进度条,你可以创建一个计时循环,每次循环中调用`step()`方法增加进度条的值,直到达到最大值。以下是两个示例:
1. 使用`start()`和`stop()`按钮手动控制进度条:
```python
import tkinter as tk
from tkinter import ttk
# ... (其他代码)
def start():
one.start()
def stop():
one.stop()
# ... (定义one为Progressbar)
button1 = tkinter.Button(tk, text='开始', command=start)
button2 = tkinter.Button(tk, text='停止', command=stop)
# ... (添加按钮到界面)
# 进度条初始化为0
one['value'] = 0
# 当点击"开始"按钮时,开始自动更新进度
if __name__ == "__main__":
tk.mainloop()
```
2. 自动触发进度条(当点击“触发”按钮时启动计时器):
```python
import tkinter as tk
from tkinter import ttk
# ... (其他代码)
def show():
global one
while one.cget('value') <= one['maximum']:
one.step(2)
tk.update() # 更新界面
print(one.cget('value')) # 可选:输出当前进度
# 延迟0.05秒以模拟实际任务时间
time.sleep(0.05)
one = ttk.Progressbar(tk, length=200, orient=tkinter.HORIZONTAL)
# ... (添加进度条到界面)
button = tkinter.Button(tk, text='触发', command=show)
button.pack()
# 如果程序直接运行,即不是作为模块导入,那么开始自动更新
if __name__ == "__main__":
tk.mainloop()
```
阅读全文