我是python开发的新手,因此在寻找有关此问题的资源时遇到了一些问题。我正在尝试创建一个以自己的GUI打开的进度条。我听说最好的方法是使用tkinter,但是我发现所有解释如何做到这一点的资源都是针对python 2.x,而不是转移到python 3。能够调用将自动更新进度条的功能。即myBar.updateProgress(76),其中myBar是当前progressBar对象,而76%是进度条到完成的距离。如果有人可以帮助我,将不胜感激。
答案 0 :(得分:0)
对不起,花了一段时间,但我能解决这个问题。
我不知道您遇到的内容与Python 3.x不兼容,但是我发现了我跟随的这个新视频。
https://www.youtube.com/watch?v=cvBRhYeO7hc
除了无法执行的“停止”命令以外,它几乎可以正常工作。
from tkinter import *
from tkinter import ttk
import time
root = Tk()
root.title('Progress Bar')
root.geometry("640x400")
def run():
progressBar['maximum'] = 100
for i in range(101):
time.sleep(0.05)
progressBar["value"] = i
progressBar.update()
progressBar["value"] = 0
buttonFrame = LabelFrame(text="Progress Bar")
buttonFrame.grid(column=0,row=0)
button1 = Button(buttonFrame, text="Run Progress Bar",command=run)
button1.grid(column = 0, row = 0)
progressBar = ttk.Progressbar(root, orient="horizontal", length=286,mode="determinate")
progressBar.grid(column = 0, row = 3, pady=10)
root.mainloop()
尝试将其分开,如果不是您想要的,我将需要您自己的代码来弄清楚您的想法。
过早退出似乎会引发错误,但没有任何内容无法摘录。
编辑:我刚刚意识到您希望能够使用一个功能对其进行编辑,这应该可以工作:
def update_prog(v):
progressBar["value"] = v
((我尚未对此进行测试,但是它应该可以工作,如果您删除RUN函数,并确保在某处具有progressBar [“ maximum”] = X,那么就可以了。