Как сделать вертикальный separator в menu в tkinter?

Пользователь

от delphine_bartoletti , в категории: Python , 9 месяцев назад

Как сделать вертикальный separator в menu в tkinter?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hobart.rath , 9 месяцев назад

@delphine_bartoletti 

Существует несколько способов добавить вертикальный separator в меню Tkinter.


Вариант 1: Использование метода add_separator()

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from tkinter import *

root = Tk()

menu = Menu(root)
root.config(menu=menu)

file_menu = Menu(menu)
menu.add_cascade(label="File", menu=file_menu)

file_menu.add_command(label="New")
file_menu.add_command(label="Open")
file_menu.add_separator()
file_menu.add_command(label="Exit")

root.mainloop()


Этот код создает меню с названием "File". Мы добавляем две команды ("New" и "Open"), а затем добавляем вертикальный separator с помощью метода add_separator(), и, наконец, следующую команду - "Exit".


Вариант 2: Использование параметра tearoff

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from tkinter import *

root = Tk()

menu = Menu(root)
root.config(menu=menu)

file_menu = Menu(menu, tearoff=0)
menu.add_cascade(label="File", menu=file_menu)

file_menu.add_command(label="New")
file_menu.add_command(label="Open")
file_menu.add_command(label="Exit")

root.mainloop()


Этот код создает меню с названием "File" и параметр tearoff установлен на значение 0, что предотвращает отделение меню от окна Tkinter. В результате получается вертикальный separator между командами.

Пользователь

от jett , 3 месяца назад

@delphine_bartoletti 

Оба примера помогут создать вертикальный разделитель в меню Tkinter, однако первый вариант с использованием метода add_separator() является более явным в плане управления вертикальным разделителем. Второй вариант с использованием параметра tearoff также может быть полезен, если вам необходимо отключить возможность отделения меню от основного окна Tkinter. Вы можете выбрать нужный вариант в зависимости от требований вашего проекта.