Блог веб разработки статьи | видеообзоры | исходный код

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

tkinter меню python

 tkinter меню python

Всем привет. В данной статье мы рассмотрим создание меню программы в пользовательском интерфейсе на языке программирования python с использованием библиотеки tkinter. Итак, поехали!

Для того чтобы создать меню мы должны воспользоваться специальным виджетом Menu:

from tkinter import *
window = Tk()
menu = Menu(window)
window.config(menu=menu)
menu.add_command(label="Создать")
window.mainloop()
библиотека tkinter виджет menuadd_command

C помощью данного кода мы создадим окно программы в самом верху которого будет меню с одной единственной кнопкой создать.

menu = Menu(window) - данной строчкой мы создает элемент меню в качестве элемента window выступает главное окно.

window.config(menu=menu) - здесь добавляем элемент меню в главное окно.

menu.add_command(label="Создать") - через метод add_command() добавляем в меню кнопку с названием 'Создать'.

Мы можем добавлять в меню сколько угодно кнопок через методы add_command() или метод add_cascade(). С помощью метода add_cascade() мы можем создавать развертывающиеся меню. Пример:

from tkinter import *
window = Tk()
menu = Menu(window)
submenu = Menu(window)
window.config(menu=menu)
submenu.add_command(label="Сохранить как")
submenu.add_command(label="Сохранить")
menu.add_cascade(label="Файл" ,menu=submenu)
menu.add_command(label="Создать")
window.mainloop()
библиотека tkinter виджет меню add_cascade

Здесь мы создали еще одну кнопку 'Файл' в нашем меню. Обратите внимание что сделали мы это через метод add_cascade() в котором указали название кнопки и ссылку на элемент submenu. Элемент submenu мы создали и добавили в него две кнопки 'Сохранить' и 'Сохранить как'.

В результате у нас получилось меню с кнопками 'Файл' и 'Создать', если мы кликнем по кнопке 'Файл' у нас развернется список где будут еще две кнопки 'Сохранить' и 'Сохранить как'.

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

Напоследок давайте разберем как вешать на кнопки события. Для того чтобы повесить событие на кнопку необходимо в метод add_cascade() добавить параметр command который должен равняться функции которая будет вызвана при нажатии кнопки. Пример:

from tkinter import *
window = Tk()
label = Label(window)
def save_as():
    label['text']='Сохранить как'
    
def save():
    label['text']='Сохранить'
    
def new():
    label['text']='Создать'
menu = Menu(window)
submenu = Menu(window)
window.config(menu=menu)
submenu.add_command(label="Сохранить как",command=save_as)
submenu.add_command(label="Сохранить",command=save)
menu.add_cascade(label="Файл",menu=submenu)
menu.add_command(label="Создать",command=new)
label.pack()
window.mainloop()

Здесь мы на каждую добавленную кнопку с помощью метода add_command() повесили событие(команду) которая вызывает определенную функцию. В результате у нас при нажатии на кнопку выводится ее название.

Заметьте что здесь мы добавили метод label для вывода названия кнопки.

На этом данная статья подошла к концу. Я желаю вам успехов и удачи! Пока!

Оцените статью:

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

Все комментарии отправлены на модерацию

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm