在Python中使用TK创建带有文本的进度栏

时间:2019-06-18 18:28:21

标签: python multithreading tkinter tk

我正在使用TK进度栏监视下载百分比。 这是我找到的部分代码。

s = Style(alarm)
# add the label to the progressbar style
s.layout("LabeledProgressbar",
         [('LabeledProgressbar.trough',
           {'children': [('LabeledProgressbar.pbar',
                          {'side': 'left', 'sticky': 'ns'}),
                         ("LabeledProgressbar.label",
                          {"sticky": ""})],
           'sticky': 'nswe'})])


progress_var = tk.DoubleVar()
progress_bar = ttk.Progressbar(alarm, orient="horizontal",length=300,mode="determinate",variable=progress_var, style="LabeledProgressbar")

s.configure("LabeledProgressbar", text="Idle 0 %      ")


progress_bar.place(y=45, x= 200)

file_path = filedialog.askopenfilename()
download_thread = threading.Thread(target=tool.load)
tool.fileName = file_path
download_thread.start()

while download_thread.isAlive():
    progress_bar.update()
    progress_var.set(tool.progress)
    text1 = tool.proc + " " + str(tool.progress) + "%" 
    s.configure("LabeledProgressbar", text= tool.proc) ## + " " + str(tool.progress) + "%" )

如果我删除s.configure,则它可以正常工作(不带标签)。

0 个答案:

没有答案