8

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

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

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

3 回答 3

11

要更改主题,请.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' 主题为您提供原始的 ttk 前外观。

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

>>> s.theme_use()
'default'
>>> s.theme_use('alt')
>>> s.theme_use()
'alt'
于 2014-06-23T15:19:18.593 回答
3
>>> 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')
于 2016-08-19T17:46:04.243 回答
3

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

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

window = Tk() # <--- Main window line

ttk.Style().theme_use('default') # <--- Change default to whichever theme you want to use.

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

这是一个很好的带有屏幕截图的主题列表:

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

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

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

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

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

希望这对您有所帮助!

于 2020-08-21T03:43:50.173 回答