Главная


30. ttk.Checkbutton

Этот виджет является ttk-версией виджета Checkbutton. Чтобы создать виджет ttk.Checkbutton как дочерний виджет данного виджета parent:

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

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

Таблица 37. Опции ttk.Checkbutton

class_ Имя класса виджета. Оно может быть указано при создании виджета, но не может быть изменено позже. Для объяснения классов виджетов смотрите Раздел 27, "Стандартизация внешнего вида".
command Функция, которая будет вызываться при изменении состояния этой кнопки.
compound Этот параметр определяет относительное положение изображения относительно текста, когда вы указываете оба. Значение может быть tk.TOP (изображение над текстом), tk.BOTTOM (изображение под текстом), tk.LEFT (изображение слева от текста) или tk.RIGHT (изображение справа от текста). Если указать оба параметра image и text, но не указать значение compound, появится только изображение.
cursor Курсор, который будет появляться при наведении мыши на виджет; см. Раздел 5.8, "Курсоры".
image Изображение, которое будет отображаться на кнопке; см. раздел Раздел 5.9, "Изображения".
offvalue По умолчанию, когда кнопка находится в выключенном (не отмеченном) состоянии, значение связанной с ней variable равно 0. Вы можете использовать опцию offvalue, чтобы указать другое значение для выключенного состояния.
onvalue По умолчанию, когда флажок находится в состоянии on (отмечен), значение связанной с ним variable равно 1. Вы можете использовать опцию onvalue, чтобы указать другое значение для включенного состояния.
style Стиль, который будет использоваться при отображении этой кнопки; см. Раздел 49, "Использование и настройка стилей ttk".
takefocus По умолчанию ttk.Checkbutton будет включен в обход фокуса; см. Раздел 53, "Фокус: маршрутизация ввода с клавиатуры". Чтобы удалить виджет из обхода фокуса, используйте takefocus=False.
text Текст, который будет отображаться на чекбоксе, в виде строки.
textvariable Переменная, управляющая текстом, который появляется на кнопке; см. Раздел 52, "Управляющие переменные: значения, скрывающиеся за виджетами".
underline Если эта опция имеет неотрицательное значение n, под символом text в позиции n появится подчеркивание.
variable Управляющая переменная, которая отслеживает текущее состояние кнопки; см. Раздел 52, "Управляющие переменные: значения за виджетами". Обычно здесь используется IntVar, а значениями off и on являются 0 и 1 соответственно. Однако вы можете использовать другой тип управляющей переменной и указать опции offvalue и onvalue, используя значения этого типа.
width Используйте этот параметр для указания фиксированной или минимальной ширины. Значение указывается в символах; положительное значение задает фиксированную ширину в столько-то средних символов, а отрицательное - минимальную ширину.

Например, если средняя ширина символа выбранного шрифта составляет 10 пикселей, опция width=8 сделает текстовую метку шириной ровно 80 пикселей; опция width=-8 будет использовать 80 пикселей или длину текста, в зависимости от того, что больше.

Вы также можете указать значение width в соответствующем стиле. Если значения указаны и в вызове конструктора виджета, и в стиле, приоритет имеет первое.

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

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

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

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

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

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

.invoke().

Этот метод переключает состояние чекбокса. Если есть обратный вызов command, он вызывает этот вызов и возвращает значение, которое вернул обратный вызов.

Не поддерживаются следующие методы виджета tkinter.Checkbutton: .deselect(), .flash(), .select() и .toggle(). Чтобы изменить состояние флажка с помощью программного управления, используйте метод .set() связанной с ним управляющей переменной variable.


>> ttk.Combobox