Как изменить общую тему приложения tkinter?

Я хочу изменить тему моего приложения tkinter на моллюск.

Что такое код и куда его вставить? Я пытался:

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

person InsuranceCompanyThatCares    schedule 23.06.2014    source источник
comment
Используйте tkinter.ttk, чтобы получить тематическую версию Tk.   -  person pes502    schedule 23.06.2014
comment
спасибо, как мне перейти на моллюск, по умолчанию и т. д.   -  person InsuranceCompanyThatCares    schedule 23.06.2014


Ответы (2)


Чтобы изменить тему, вызовите .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'
person blakev    schedule 23.06.2014
comment
ImportError: Нет модуля с именем «ttk». - person InsuranceCompanyThatCares; 23.06.2014
comment
Извините, Python 3: import tkinter.ttk as ttk - person blakev; 23.06.2014

Этот пост довольно устарел, вот как вы можете легко установить тему в 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

Надеюсь, это помогло вам!

person Jason Waltz    schedule 21.08.2020
comment
ttk.Style().theme_use('default') нельзя использовать с темами ttkthemes? пожалуйста, скажите, как использовать его с ttkthemes - person Cool Cloud; 28.08.2020