Виджет 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 |
Если вы используете стиль с этой опцией, установленной на некоторое значение размера, то текст будет нарезан на фрагменты не длиннее этого размера. |