当前位置: 代码迷 >> python >> 带有百分比的 TKinter 加载栏——特定代码
  详细解决方案

带有百分比的 TKinter 加载栏——特定代码

热度:67   发布时间:2023-06-16 10:11:10.0

如何让这个特定的加载条码同时显示百分比。 有人也可以帮我把它放在 TKInter 窗口中,然后关闭那个特定的TKInter 窗口???

print 'LOADING'

toolbar_width = 40


for i in range(toolbar_width):
    time.sleep(0.1) # do real work here
    # update the bar
    sys.stdout.write("-")
    sys.stdout.flush()

sys.stdout.write("\n")

根据您的代码,我看不到任何地方打印的百分比。

您想如何同时打印? 在哪里?

我个人看到多种选择:

  • 使用 Tkinter 并在顶部或彼此旁边使用不同的小部件,并同时增加这两个值。
  • 使用控制台输出,您可以清除控制台并根据您的进程打印格式化的字符串(例如"------70%--- "

如果您想使用tkinter您应该首先创建您的脚本,然后尝试运行它,如果您遇到错误,您可以针对特定问题集提出带有特定错误的 SO Question。

正如 Bryan 之前提到的,这是 StackOverflow,而不是某种“LetMeCodeThatForYou”平台。 不过我会附上一些伪代码作为提示可以做什么。

您可以在某些 tkinter 代码中尝试以下内容:

import Tkinter as tk
class MyWidget(tk.Window):
    def __init__(self, *args, **kwargs):
        # [...] for real code there needs to be more in here...
        self.percentage=tk.StringVar()
        self.progressbarwidget=SomeWidget(self)
        self.progressbarwidget.grid()        
    def increase_counter(step=1):
        self.percentage.set("%s%%"%(int(self.percentage.get()[-1:])+step))
        self.progessbarwidget.configure(width=width+step)
        if self.percentage.get()=="100%":
            #destroy the window / widget / whatever here...
            self.destroy()
        else:
            self.after(1000, self.increase_counter)

在您的应用程序中使用这样的东西会同时更新百分比值和小部件的外观。

请注意,这只是示例代码,某种暗示如何完成您想要的结构。

还可以在这里查看

  相关解决方案