Меню
Меню – це віджет, який присутній у багатьох користувацьких додатках. У меню представлені всі команди та функції програми, які доступні користувачеві через графічний інтерфейс.
from tkinter import * root = Tk() def hello(): print("Привіт!") menubar = Menu(root) root.config(menu=menubar) menubar.add_command(label="Привіт!", command=hello) menubar.add_command(label="Вийти", command=quit) root.mainloop()
Створюємо підменю в головному меню так:
name_ = Menu(M) M.add_cascade(label = t, menu = name_)
name_ – ім'я підменю,
M – ім'я головного меню,
t – текст, який буде відображатись як назва підменю.
Заповнювати підменю пунктами-командами можна так:
name_.add_command(label = text_, command = f)
name_ – ім'я підменю, в яке додатися команда; text_ – текст, який буде відображатись як назва команди; f – ім'я функції, яка виконається після вибору даної команди.
Приклад 1 Вказівка. Значення tearoff=0 відключає можливість відкріплення підменю.
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() # задання команди відображення вікна при запуску
Діалогові вікна
op = askopenfilename () | Вікно відкриття файлу |
sa = asksaveasfilename () | Вікно збереження файлу |
showinfo(“Заголовок вікна”, “Повідомлення”) | метод створення вікна з повідомленням; |
showwarning(“Заголовок вікна”, “Попередження”) | метод створення вікна з попередженням (відрізняється від вікна з повідомленням звуковим сигналом та зображенням); |
showerror(“Заголовок вікна”, “Повідомлення про помилка”) | метод створення вікна з повідомленням про помилку (відрізняється від вікна з повідомленням звуковим сигналом та зображенням); |
askyesno(“Заголовок вікна”, “Запитання”) | метод створення вікна з запитанням, з можливістю відповісти Так або Ні. Метод повертає True або False в залежності від натиснутої кнопки. False повертається також у випадку, якщо вікно було закрито користувачем; |
askokcancel(“Заголовок вікна”, “Запитання”) | метод створення вікна з запитанням, з можливістю натиснути кнопку Ok або Cancel. Метод повертає True або False в залежності від натиснутої кнопки. False повертається також у випадку, якщо вікно було закрито користувачем; |
askyesnocancel(“Заголовок вікна”, “Запитання”) - | мте саме, що й askyesno(), але з додатковим варіантом Cancel. При натисканні на кнопку Cancel не повертає нічого. |