Главная


29. ttk.Button

Этот виджет является ttk-версией виджета Button. Чтобы создать виджет ttk.Button:

w = ttk.Button(parent, option=value, ...)

Здесь приведены параметры виджета ttk.Button. Сравните их с версией для Tkinter, рассмотренной в разделе 7, "Виджет Button".

Таблица 35. Опции ttk.Button

class_ Имя класса виджета. Оно может быть указано при создании виджета, но не может быть изменено позже. Для объяснения классов виджетов смотрите Раздел 27, "Стандартизация внешнего вида".
command Функция, которая будет вызываться при нажатии кнопки.
compound Если вы указали опции image и text, опция compound задает позицию изображения относительно текста. Значение может быть tk.TOP (изображение над текстом), tk.BOTTOM (изображение под текстом), tk.LEFT (изображение слева от текста) или tk.RIGHT (изображение справа от текста).

Если указать оба параметра image и text, но не указать параметр compound, изображение появится, а текст - нет.
cursor Курсор, который будет появляться при наведении мыши на кнопку; смотрите Раздел 5.8, "Курсоры".
image Изображение, которое будет отображаться на кнопке; смотрите Раздел 5.9, "Изображения".
style Стиль, который будет использоваться при рендеринге этой кнопки; смотрите Раздел 49, "Использование и настройка стилей ttk".
takefocus По умолчанию ttk.Button будет включен в обход фокуса; смотрите Раздел 53, "Фокус: маршрутизация ввода с клавиатуры". Чтобы удалить виджет из обхода фокуса, используйте takefocus=False.
text Текст, который будет отображаться на кнопке, в виде строки.
textvariable Переменная, управляющая текстом, который отображается на кнопке; см. Раздел 52, "Управляющие переменные: значения, скрывающиеся за виджетами".
underline Если эта опция имеет неотрицательное значение n, под символом в позиции n появится подчеркивание.
width Если метка текстовая, эта опция задает абсолютную ширину текстовой области на кнопке в виде количества символов; фактическая ширина равна этому числу, умноженному на среднюю ширину символа в текущем шрифте. Для ярлыков изображений этот параметр игнорируется. Параметр также может быть задан с помощью стиля.

Эти параметры виджета tkinter.Button не поддерживаются конструктором ttk.Button:

Таблица 36. Опции tkinter.Button, отсутствующие в ttk.Button

activebackground Используйте карту стилей для управления опцией background; смотрите Раздел 50.2, "Карты стилей ttk: динамическое изменение внешнего вида".
activeforeground Используйте карту стилей для управления опцией foreground.
anchor Настройте этот параметр с помощью стиля; смотрите Раздел 49, "Использование и настройка стилей ttk". Используйте эту опцию, чтобы указать положение текста, когда опция width выделяет дополнительное горизонтальное пространство.

Например, если указать опции width=20 и compound=tk.RIGHT для кнопки, которая отображает и текст, и изображение, и стиль, задающий anchor=tk.E (восток), изображение будет находиться в правом конце двадцатисимвольного пространства, а текст - слева от него.

Если кнопка отображает изображение, но не текст, этот параметр игнорируется.
background или bg Настройте опцию background с помощью стиля. Сокращение bg не поддерживается.
bitmap Не поддерживается.
borderwidth или bd Настройте опцию borderwidth с помощью стиля. Аббревиатура bd не поддерживается.
cursor Курсор, который будет появляться при наведении мыши на кнопку проверки; смотрите Раздел 5.8, "Курсоры".
default Не поддерживается; см. Раздел 50.2, "Карты стилей ttk: динамическое изменение внешнего вида".
disabledforeground Используйте карту стилей для опции foreground; см. Раздел 50.2, "Карты стилей ttk: динамическое изменение внешнего вида".
font Настройте эту опцию с помощью стиля.
foreground или fg Настройте этот параметр с помощью стиля.
height Не поддерживается.
highlightbackground Чтобы управлять цветом подсветки фокуса, когда кнопка не имеет фокуса, используйте карту стилей для управления параметром highlightcolor; смотрите Раздел 50.2, "Карты стилей ttk: динамическое изменение внешнего вида".
highlightcolor Вы можете указать цвет подсветки фокуса по умолчанию, установив этот параметр в стиле. Вы также можете управлять цветом подсветки фокуса с помощью карты стилей.
highlightthickness Настройте этот параметр с помощью стиля. Эта опция может работать не во всех темах.
justify Если текст содержит символы новой строки ('\n'), то текст будет занимать несколько строк на кнопке. Параметр justify управляет тем, как каждая строка будет расположена по горизонтали. Настройте этот параметр с помощью стиля; значения могут быть tk.LEFT, tk.CENTER или tk.RIGHT для строк, выровненных по левому краю, по центру или по правому краю, соответственно.
overrelief Используйте карту стилей для управления опцией relief; смотрите Раздел 50.2, "Карты стилей ttk: динамическое изменение внешнего вида".
padx Не поддерживается.
pady Не поддерживается.
relief Настройте этот параметр с помощью стиля; смотрите Раздел 49, "Использование и настройка стилей ttk".
repeatdelay Не поддерживается.
repeatinterval Не поддерживается.
state В ttk нет опции с таким именем. Механизм состояния был обобщен; смотрите Раздел 50.2, "Карты стилей ttk: динамическое изменение внешнего вида".
wraplength Если вы используете стиль с этой опцией, установленной на некоторое значение размера, то текст (text) будет нарезан на куски не длиннее этого размера.

Методы ttk.Button включают все те, что описаны в разделе 46, "Методы, общие для всех виджетов ttk", плюс:

.invoke().

Вызывает обратный вызов command кнопки и возвращает то, что возвращает эта функция. Не имеет эффекта, если кнопка отключена или обратный вызов отсутствует.

Метод .flash() из tkinter.Button не поддерживается виджетом ttk.Button.


>> ttk.Checkbutton