【发布时间】:2019-12-01 22:39:10
【问题描述】:
我有一个程序可以进行一些简单的网页抓取。我正在努力将它提供给我的同事使用,但他们不熟悉代码,所以我想制作一个 GUI。我已经开始使用 tkinter,我目前正在制作一个显示程序所在位置的进度条(运行可能需要几个小时)。我的问题是我似乎无法更新进度条,并且所有在线资源都使用 Tkinter,这是一个旧版本。这是我的代码:
我已尝试将 progressBar['value'] 更新为我想要的任何数字,但这并没有奏效。
from tkinter import *
from tkinter import ttk
import time
def clicked(progressBar): # runs a couple functions and updates the progress bar when the button is clicked
num = 0
for item in range(5):
# functions go here
num += 10
progressBar['value'] = num
time.sleep(2)
window = Tk()
window.title("Welcome to my app")
window.geometry('600x400')
progressBar = ttk.Progressbar(window, orient='horizontal', length=300, mode='determinate', maximum=100, value=0)
progressBar.grid(columnspan=3, row=2, sticky=(W, E))
btn = Button(window, text="Click me!", command=clicked(progressBar))
btn.grid(column=1, row=1)
window.mainloop()
tkinter 窗口在我运行程序 10 秒后才打开,并且进度条已满 50%。我希望栏在单击按钮后慢慢增加。任何意见将是有益的!谢谢!
【问题讨论】: