Menu – клас головного меню.
Меню – це віджет, який присутній у багатьох користувацьких додатках. У меню представлені всі команди та функції програми, які доступні користувачеві через графічний інтерфейс. Знаходиться воно під рядком заголовка. Меню складається з випадаючих списків, що розміщені під словами-пунктами меню. Пункти цих випадаючих списків є командами і зазвичай виконують якісь дії (відкрити, зберегти, вийти і т.д.).
name = Menu(window)
window.config(menu = name)
name – ім'я меню, window – ім'я вікна, на якому воно розташоване.
Щоб додати команди до меню, використовуємо метод add_command().
У даному випадку "Привіт!" та "Вийти" – це команди, тому до них добавлено властивість command, яка прив'язана до функцій hello(), що друкує текст "Привіт!", та quit, що закриває вікно.
Підменю створюються подібним чином. Основна відмінність полягає в тому, що вони прикріплені до батьківського меню (за допомогою add_cascade) замість вікна верхнього рівня.
name_ = Menu(M)
M.add_cascade(label = t, menu = name_)
name_ – ім'я підменю,
M – ім'я головного меню,
t – текст, який буде відображатись як назва підменю.
name_.add_command(label = text_, command = f)
name_ – ім'я підменю, в яке додатися команда;
text_ – текст, який буде відображатись як назва команди;
f – ім'я функції, яка виконається після вибору даної команди.
from tkinter import * # імпортування графічної бібліотеки
root = Tk() # створення головного вікна
root.geometry("200x150") # задання розмірів вікна
mainmenu = Menu(root) # створення головного меню
root.config(menu=mainmenu)
filemenu = Menu(mainmenu, tearoff=0) # створення підменю "Файл"
filemenu.add_command(label="Новий") # додавання команди "Новий" до підменю "Файл"
filemenu.add_command(label="Відкрити...") # додавання команди "Відкрити..." до підменю "Файл"
filemenu.add_separator() # вставлення горизонтального роздільника
filemenu.add_command(label="Вихід") # додавання команди "Вихід" до підменю "Файл"
helpmenu = Menu(mainmenu, tearoff=0) # створення підменю "Довідка"
mainmenu.add_cascade(label="Файл", menu=filemenu) # підв'язуємо підменю "Файл" до головного меню
mainmenu.add_cascade(label="Довідка", menu=helpmenu) # підв'язуємо підменю "Довідка" до головного меню
root.mainloop() # задання команди відображення вікна при запуску
from tkinter import * # імпортування графічної бібліотеки
root = Tk() # створення головного вікна
def oval(): # функція малювання еліпса
c.delete("all")
c.create_oval(10, 10, 190, 100)
def rectangle(): # функція малювання прямокутника
c.delete("all")
c.create_rectangle(10, 10, 190, 100)
mainmenu = Menu(root) # створення головного меню
root.config(menu=mainmenu)
drawmenu = Menu(mainmenu, tearoff=0) # створення підменю "Малювати"
drawmenu.add_command(label="Еліпс", command=oval) # додавання команди "Еліпс" до підменю "Малювати"
drawmenu.add_command(label="Прямокутник", command=rectangle) # додавання команди "Прямокутник" до підменю "Малювати"
exitmenu = Menu(mainmenu, tearoff=0) # створення підменю "Вихід"
exitmenu.add_command(label="Вийти з програми", command=root.quit) # додавання команди "Вийти з програми" до підменю
mainmenu.add_cascade(label="Малювати", menu=drawmenu) # підв'язуємо підменю "Малювати" до головного меню
mainmenu.add_cascade(label="Вихід", menu=exitmenu) # підв'язуємо підменю "Вихід" до головного меню
c = Canvas(root, width=200, height=150) # створення і розміщення полотна шириною 200 та висотою 150
c.pack()
root.mainloop() # задання команди відображення вікна при запуску