【发布时间】:2013-04-30 07:32:06
【问题描述】:
我想在Tkinter 菜单命令上创建一个大文本,并通过进度条提供视觉支持。虽然进度条是在随后的耗时循环之前启动的,但只有在创建并显示大文本后才会显示进度条。
def menu_bar(self):
self.create_menu.add_command(label="Create large file",
command=self.create_large_file)
def create_large_file(self):
self.progressbar = ttk.Progressbar(self.master, mode='indeterminate')
self.progressbar.pack()
self.progressbar.start()
self.text.delete(1.0, 'end')
self.file_content = []
i = 0
while i < 2000000:
line = lfd.input_string
self.file_content.append(line + "\n")
i += 1
self.file_content = ''.join(self.file_content)
self.text.insert(1.0, self.file_content)
【问题讨论】:
-
mode='indeterminate'进度条的默认更新间隔为 50 毫秒,因此您的循环可能并不那么耗时。尝试在调用其start()方法时指定较小的时间值参数。 -
这似乎没有帮助。我指定了一个较小的时间值作为更新间隔,并增加了进程。我等大约。循环处理 3 秒后,才会出现进程栏。
标签: python progress-bar ttk