我有一个包含两个不同的Progressbar
的窗口。我想在它们上面添加不同的文本信息(即第一个是“88/1524”,第二个是“88/10000”)。
在这个问题上,我找到了一个解决方案:Displaying percentage in ttk progressbar
但是,它使用样式修改解决方案在进度条上添加文本,据我所知,所有进度条都共享样式属性text.Horizontal.TProgressbar
。这意味着我不能在每个进度条上有不同的文本。当我需要更新文本时,我不知道如何针对一个特定的进度条
有没有别的办法,或者我遗漏了什么?
我是否可以实例化标签,使其具有类似text.Horizontal.TProgressbar1
和text.Horizontal.TProgressbar2
的内容
我的部分代码:
style = tkinter.ttk.Style(root)
style.layout('text.Horizontal.TProgressbar',
[('Horizontal.Progressbar.trough',
{'children': [('Horizontal.Progressbar.pbar',
{'side': 'left', 'sticky': 'ns'})],
'sticky': 'nswe'}),
('Horizontal.Progressbar.label', {'sticky': ''})])
style.configure('text.Horizontal.TProgressbar', text='0/0')
ProgressBarOfDirectory = tkinter.ttk.Progressbar(ProgressbarFrame,
style='text.Horizontal.TProgressbar',
orient="horizontal",
length=WidthOfElements,
mode="determinate",
maximum=NbStepOfProgressBar,
variable=PourcentageOfDirectoryAnalysisDone)
ProgressBarOfDirectory.pack(side="top")
ProgressBarOfAll = tkinter.ttk.Progressbar(ProgressbarFrame,
style='text.Horizontal.TProgressbar',
orient="horizontal",
length=WidthOfElements,
mode="determinate",
maximum=NbStepOfProgressBar,
variable=PourcentageOfAllAnalysisDone)
除非为多个小部件指定了相同的小部件样式(或者由于未指定其他内容而将相同的默认样式分配给多个小部件),否则不会共享小部件样式
为了利用这一点,这里有一个更新版本的代码,用于我的answer到另一个问题。为了确保每个
Progressbar
实例的独立性,它从内置的ttk.Progressbar
派生一个新类,该类为创建的每个实例创建一个单独的样式对象下面是代码以及最后的可运行演示
下面是它运行的几个屏幕截图:
进度条本身没有显示文本的功能
您可以做的是使用标签小部件。你所要做的就是在你想要实现文本的地方放置一个标签小部件
现在您可以配置标签的文本值&;可以在Python Tkinter进度条中进行更改
在这里,您可以找到一个示例:
相关问题 更多 >
编程相关推荐