【问题标题】:Python - How do I add a theme from ttkthemes package to a guizero application?Python - 如何将 ttkthemes 包中的主题添加到 guizero 应用程序?
【发布时间】:2018-08-05 20:07:11
【问题描述】:

我正在处理多个 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()

而且它没有显示主题

这是主题之前的样子

这就是使用不同主题 plastik 的样子。

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

【问题讨论】:

    标签: python user-interface tkinter


    【解决方案1】:

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

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

    from ttkthemes import ThemedStyle
    import tkinter as tk
    from tkinter import ttk
    
    app = tk.Tk()
    app.title('App')
    
    style = ThemedStyle(app)
    style.set_theme("arc")
    
    tktext = tk.Label(app, text=" tk Label")
    tktext.pack()
    tkbutton = tk.Button(app, text="tk Button")
    tkbutton.pack()
    
    text = ttk.Label(app, text=" ttk Label")
    text.pack()
    button = ttk.Button(app, text="ttk Button")
    button.pack()
    
    app.geometry('200x200')
    
    app.mainloop()
    

    结果:主题为“弧”

    主题为“plastik”:

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 2017-10-01
      相关资源
      最近更新 更多