Python-如何将ttkthemes包中的主题添加到guizero应用程序?

时间:2018-08-05 20:07:11

标签: python user-interface tkinter

我正在处理多个guizero项目,并且试图从Python包ttkthemes(准确地说是弧)中添加一个主题。我尝试使用以下代码将主题添加到应用小部件:

from guizero import App, Text, PushButton
from ttkthemes import ThemedStyle
import tkinter.ttk as ttk

app = App(title="App")

style = ThemedStyle(app)
style.set_theme("arc")

text = Text(app, text="Text")
button = PushButton(app, text="Button")

app.display()

它不显示主题 enter image description here

这应该是主题之前的样子 enter image description here

这就是使用不同主题的plastik的外观。 enter image description here

我认为我做错了什么。因此,如何正确地将主题添加到guizero应用程序。谢谢。

1 个答案:

答案 0 :(得分:1)

您没有做错任何事情。主题不会更改guizero应用程序的原因是guizero窗口小部件基于基本的tkinter窗口小部件,而主题仅适用于ttk窗口小部件。

如果要使用ttk主题,则需要删除guizero并使用ttk小部件:

def yaml_processor(period):
filepath_reg = "../public/log/testing.log.yaml"
data = yaml_loader(filepath)
data = data.get(period)
file = open("test.log.yaml", 'w')
for team, key in data.iteritems():
    file.write('%team %period\n')
    print(team, period)
file.close()

结果:主题为'arc'screenshot arc

,主题为“ plastik”:screenshot plastik