Меню и панели инструментов в Tkinter [Урок №4]

автор

В этой части обучения Tkinter мы поработаем с меню и панелями инструментов. Меню – одна из наиболее заметных и используемых частей графического интерфейса приложений.

Фактически, это группа команд, которая объединена в одно меню. В консольных приложениях нам нужно запоминать большое количество тайных команд. Здесь же все команды объединены в удобные группы и расположены на видном месте. Существуют определенные стандарты, которые позволяют пользователям быстрее узнавать новое приложение. Меню объединяют группы команд, которые мы можем использовать для управления приложением. Панели инструментов дают нам быстрый доступ к тем командам, которые мы используем чаще всего.

Простое меню

Первый пример показывает простое меню.

Наш пример показывает меню с одним объектом. Выбирая объект «Exit» (Выход) в меню, мы закрываем приложение.

Здесь мы создаем панель меню. Для этого мы используем виджет Menu, который настраиваем для отображения в качестве меню для корневого окна.

Мы создаем объект меню file. Меню – это выпадающее окно, содержащее команды.

Мы добавляем команду к file меню. Эта команда будет вызывать метод onExit().

Меню file добавляется на панель меню при помощи метода add_cascade().

simplemenu

Подменю

Подменю – это меню, встроенные в другие объекты меню. В следующем примере мы продемонстрируем подменю.

В этом примере мы реализовали три опции в подменю от основного меню «file». Мы создали разделитель и горячие клавиши.

У нас есть подменю с тремя командами. Подменю – это обычное меню.

Добавляя меню к fileMenu, но не к панели меню. Так создается подменю. При помощи параметра underline мы можем создать горячие клавиши. Этот параметр подчеркивает символ, обозначающий горячую клавишу команды. В нашем случае, это первая буква. Позиции символов начинаются с нуля. Когда мы нажимаем на меню File, появляется контекстное окно. В меню Import также только один символ является подчеркнутым. Мы можем выбрать этот пункт меню при помощи мыши или сочетанием горячих клавиш Alt+I.

Разделитель – это горизонтальная линия, которая визуально разделяет команды меню. Благодаря разделителям мы можем группировать команды в меню.

submenu

Всплывающее Меню

В следующем примере мы создадим всплывающее меню. Вызвать его можно в любой части рабочей области окна.

В нашем примере мы создадим всплывающее меню с двумя командами.

Для создания всплывающего меню используется обычный виджет Menu. Отключается свойство tearoff. Теперь у нас есть возможность разделить меню на новое верхнее окно.

Мы назначаем <Button-3> событие методу showMenu(). Событие генерируется тогда, когда мы нажимаем по рабочей области окна правой кнопкой мыши.

Метод showMenu() отображает всплывающее меню. Данное меню открывается по x и y координатам расположения клика мыши.

popupmenu

Панель инструментов

Меню объединяют команды, которые мы можем использовать в приложении. Панель инструментов позволяет нам получить быстрый доступ к наиболее используемым командам. В Tkinter нет виджета панели инструментов.

Нашей панелью инструментов будет рамка, в которой мы поместим кнопку.

Мы создали панель инструментов. Это Frame (рамка). Мы создали границы панели инструментов видными.

Мы создали изображение и фотоизображение для панели инструментов.

Мы создали виджет Button (кнопку).

Панель инструментов – это рамка, а рамка – это виджет контейнера. Мы закрепляем кнопку у левого края и создаем небольшой отступ.

Сама панель инструментов закреплена к верхней части верхнего окна и растянута горизонтально.

toolbar
В этой части обучения Tkinter мы поработали с меню и панелями инструментов.

Вам может быть интересно

Scroll Up