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

#tkinter #python-3.4 #tkinter.style

#tkinter #python-3.4 #tkinter.style

Вопрос:

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

Что это за код и куда мне его поместить? Я пытался:

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

Комментарии:

1. Используйте tkinter.ttk , чтобы получить тематическую версию Tk.

2. спасибо, как мне перейти на clam, default и т. Д.

Ответ №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 Тема придает вам оригинальный
внешний вид до ttk.

Чтобы определить, какую тему вы получаете по умолчанию, используйте .theme_use() метод без аргументов. Чтобы изменить текущую тему, вызовите этот же метод с желаемым именем темы в качестве аргумента:

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

Комментарии:

1. Ошибка импорта: нет модуля с именем ‘ttk’.

2. Извините, 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
 

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

Комментарии:

1. ttk.Style().theme_use('default') не может использоваться с ttkthemes темами? пожалуйста, расскажите, как использовать его с ttkthemes