【问题标题】:How do I change the overall theme of a tkinter application?如何更改 tkinter 应用程序的整体主题?
【发布时间】:2014-06-23 13:50:39
【问题描述】:

我想将我的 tkinter 应用程序的主题更改为 clam。

代码是什么,我应该把它放在哪里?我试过了:

from tkinter import *
from tkinter.ttk import *
s=ttk.Style()
s.theme_use('clam')

【问题讨论】:

  • 使用tkinter.ttk获取主题版Tk。
  • 谢谢,如何改成clam,默认等。

标签: tkinter python-3.4 tkinter.style


【解决方案1】:

要更改主题,请使用主题名称作为参数调用.theme_use()

来自https://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-theme-layer.html

许多与主题相关的操作要求您拥有 提供ttk.Style() 类的实例(在 Python 意义上 班级)。例如,要获取您的可用主题列表 安装:

>>> import ttk  # import tkinter.ttk as ttk for Python 3
>>> s=ttk.Style()
>>> s.theme_names()
('clam', 'alt', 'default', 'classic')

.theme_names() 方法返回一个元组,其中包含 可用的样式。 'classic' 主题为您提供原始的 pre-ttk 外观。

要确定您默认获得的主题,请使用.theme_use() 没有参数的方法。要更改当前主题,请调用相同的 以所需主题名称作为参数的方法:

>>> s.theme_use()
'default'
>>> s.theme_use('alt')
>>> s.theme_use()
'alt'

【讨论】:

  • ImportError: No module named 'ttk'.
  • 对不起,Python 3:import tkinter.ttk as ttk
【解决方案2】:
>>> from tkinter import ttk

>>> s=ttk.Style()

>>> s.theme_names() """======== if you are under win 8.1 you must see ..
 ('winnative', 'clam', 'alt', 'default', 'classic', 'vista', 'xpnative') you can use for example 'clam' ===== """

>>> s.theme_use('clam')

【讨论】:

    【解决方案3】:

    这篇文章已经过时了,这里是您可以在 Python3 中使用 一行 行代码轻松设置主题的方法:

    将此添加到您的“Tk()”行下方。例如:

    window = Tk() # <--- Main window line
    
    ttk.Style().theme_use('default') # <--- Change default to whichever theme you want to use.
    

    其中“default”是默认主题的名称。将“默认”更改为您喜欢的任何可用主题。

    这里有一个很好的主题列表和截图:

    截至 2020 年的当前主题 -->

    https://ttkthemes.readthedocs.io/en/latest/themes.html

    上面列表中的一些主题不包含在主 tkinter 下载中。

    如果是这种情况,您可以通过运行以下命令轻松安装默认 ttk 安装中未包含的主题文件:

    python3 -m pip install git+https://github.com/RedFantom/ttkthemes
    

    希望这对您有所帮助!

    【讨论】:

    • ttk.Style().theme_use('default') 不能与ttkthemes 主题一起使用?请告诉如何使用ttkthemes
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多