Шаг 68.
Библиотека Tkinter. Компоненты и вспомогательные классы. Нестилизуемые компоненты. Компонент Menubutton: кнопка с меню

    На этом шаге мы рассмотрим назначение и использование этого компонента.

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

    Компонент Menubutton предоставляет нам следующий набор опций:

    Опции, задаваемые только посредством стилей:

    Далее приведен пример использования компонента Menubutton.

import tkinter
import tkinter.ttk

class Application(tkinter.ttk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        # Обязательно указываем ширину и высоту контейнера посредством
        # опций width и height соответственно
        self.configure(width=200, height=100)
        self.pack(padx=4, pady=4)
        self.create_widgets()
        self.master.title("Пример создания меню")
        # Запрещаем изменять размеры окна
        self.master.resizable(False, False)

    def create_widgets(self):
        self.menu = tkinter.Menu(self, tearoff=False)
        self.menu.add_command(label="Обычный")
        self.menu.add_command(label="Полужирный")
        self.menu.add_command (label="Курсив")
        btn = tkinter.ttk.Menubutton (self, text="Шрифт", menu=self.menu)
        btn.pack()          


root = tkinter.Tk()
app = Application(master=root)
root.mainloop()
Архив с файлом можно взять здесь.

    Результат работы приложения приведен на рисунке 1.


Рис.1. Результат работы приложения

    Со следующего шага мы начнем знакомиться с векторной графикой в tkinter.




Предыдущий шаг Содержание Следующий шаг