Иногда бывают случае, что в пункте меню надо реализовать как бы еще одно меню. Сегодня мы рассмотрим как это сделать
Окей, мы сделали меню, теперь сделаем его выпадающим. Ну на самом деле помните, как мы создавали меню в окне? Теперь все также, вот только не в окне, а в самом меню. Звучит странно, но поехали к практике.
mainmenu = Menu(root) # Инициализируем меню
filemenu = Menu(mainmenu, tearoff=0) # Убираем странную полоску сверху, открепляющую меню
root.config(menu=mainmenu)
mainmenu.add_command(label="Информация") # Пункт
mainmenu.add_command(label="Ошибка") # Пункт
mainmenu.add_command(label="Предупреждение") # Все еще пункт
Помните, в прошлый раз мы сделали такое меню? Сейчас я оставил только его, чтобы ничего не мешало. Выглядит это так:
Теперь мы удаляем все это и оставляем только один пункт
Сейчас нам надо полностью переписать его таким образов:
mainmenu = Menu(root) # Инициализируем основное меню
root.config(menu = mainmenu)
info = Menu(mainmenu) # Создаем новое меню
evenmenu = Menu(info) # Создаем меню, которое расположим внутри меню, которое будет распологаться внутри меню
mainmenu.add_cascade(label="Информация", menu=info) # В основное меню добавляем меню info
info.add_cascade(label="Выпадающий элемент1", menu=evenmenu) # В меню info добавляем меню evenmenu
evenmenu.add_command(label="Еще елемент...") # В evenmenu создаем элемент
Благодаря этому у нас получается так:
Извините, конечно за кривой скрин, по-другому не получилось, так как меню закрывается после того, как курсор сводится куда-то еще.
Спасибо за прочтение! С вами был Fakeminer и Да прибудет с вами программирование, друзья!
[Самореклама] Псс... Чувак? Хочешь научиться делать на Python приложения с интерфейсом? Тогда переходи по ссылке и научись делать интерфейсы на Python всего за 15 минут!