Главная


36. ttk.Menubutton

Виджет Menubutton - это часть выпадающего меню, которая всегда видна. Он всегда используется в сочетании с виджетом Menu, который управляет тем, что появляется, когда пользователь нажимает на Menubutton.

Не существует ttk-версии виджета Menu. Используйте обычный виджет Tkinter, описанный в Раздел 15, "Виджет меню".

Чтобы создать новый виджет ttk.Menubutton в качестве дочернего элемента некоторого виджета parent, используйте этот конструктор:

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

Опции включают:

Таблица 48. Опции ttk.Menubutton

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

above - Меню будет отображаться непосредственно над menubutton.
below - Меню будет отображаться под кнопкой menubutton.
flush - Меню будет отображаться над menubutton, так что северо-западный угол меню совпадает с северо-западным углом menubutton.
left - Меню будет отображаться слева от кнопки menubutton.
right - Меню появится справа от кнопки menubutton.
image Изображение, которое будет отображаться на menubutton; см. Раздел 5.9, "Изображения".
menu Связанный виджет Menu. Процедуру, используемую для установления этой взаимной связи, см. в Раздел 15, "Виджет Menu".
style Стиль, который будет использоваться при отображении menubutton; см. раздел 49 "Использование и настройка стилей ttk".
takefocus По умолчанию ttk.Menubutton будет включен в обход фокуса; смотрите Раздел 53, "Фокус: маршрутизация ввода с клавиатуры". Чтобы удалить виджет из обхода фокуса, используйте takefocus=False.
text Текст, который будет отображаться на menubutton, в виде строки.
textvariable Переменная, управляющая текстом, который появляется на кнопке menubutton; см. Раздел 52, "Управляющие переменные: значения за виджетами".
underline Если эта опция имеет неотрицательное значение n, под символом в позиции n появится подчеркивание.
width Если метка текстовая, эта опция задает абсолютную ширину текстовой области на кнопке в виде количества символов; фактическая ширина равна этому числу, умноженному на среднюю ширину символа в текущем шрифте. Для ярлыков изображений этот параметр игнорируется. Параметр также может быть задан в стиле.

Следующие опции кнопки tkinter.Menubutton, описанной в разделе 16, "Виджет Menubutton", не поддерживаются ttk.Menubutton:

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

activebackground Используйте карту стилей для управления опцией background; смотрите Раздел 50.2, "Карты стилей ttk: динамические изменения внешнего вида".
activeforeground Используйте карту стилей для управления опцией foreground.
anchor Настройте этот параметр с помощью стиля; смотрите Раздел 49, "Использование и настройка стилей ttk". Используйте эту опцию, чтобы указать положение текста, когда опция width выделяет дополнительное горизонтальное пространство.
bitmap Не поддерживается.
borderwidth или bd Настройте опцию borderwidth с помощью стиля. Аббревиатура bd не поддерживается.
buttonbackground Не поддерживается.
buttoncursor Не поддерживается.
buttondownrelief Не поддерживается.
buttonup Не поддерживается.
disabledforeground Используйте карту стилей для опции foreground; смотрите Раздел 50.2, "Карты стилей ttk: динамические изменения внешнего вида".
font Настройте эту опцию с помощью стиля.
foreground или fg Настройте опцию foreground с помощью стиля.
height Не поддерживается.
highlightbackground Чтобы управлять цветом подсветки фокуса, когда menubutton не имеет фокуса, используйте карту стилей для управления параметром highlightcolor; см. раздел Раздел 50.2, "Карты стилей ttk: динамические изменения внешнего вида".
highlightcolor Вы можете указать цвет подсветки фокуса по умолчанию, установив этот параметр в стиле. Вы также можете управлять цветом подсветки фокуса с помощью карты стилей.
highlightthickness Настройте этот параметр с помощью стиля.
justify Если текст содержит символы новой строки ('\n'), текст будет занимать несколько строк на menubutton. Параметр justify управляет тем, как каждая строка будет располагаться по горизонтали. Настройте этот параметр с помощью стиля; значения могут быть tk.LEFT, tk.CENTER или tk.RIGHT для строк, выровненных по левому краю, по центру или по правому краю, соответственно.
padx Не поддерживается.
pady Не поддерживается.
relief Настройте этот параметр с помощью стиля; смотрите Раздел 49, "Использование и настройка стилей ttk".
wraplength Если вы используете стиль с этой опцией, установленной на некоторое значение размера, то текст будет нарезан на фрагменты не длиннее этого размера.

>> ttk.Notebook