0

Wanted: menu: file -> names->1.name1 2.name2:

This my code:

   menubar = Menu(window)
    filemenu = Menu(menubar, tearoff=0)
    filemenu.add_command(label="names")

    submenu = Menu(filemenu, tearoff=0)
    submenu.add_command(label='name1')
    submenu.add_command(label='name2')

    menubar.add_cascade(label="File", menu=submenu)

But I get file->1.name1 2.name2

What should be my fix ?

alex
  • 59
  • 5
  • 1
    Does this answer your question? [Tkinter - How to create submenus in menubar](https://stackoverflow.com/questions/20429448/tkinter-how-to-create-submenus-in-menubar) – shoaib30 Aug 06 '21 at 16:50

2 Answers2

0

Try this. If you want to know which one was selected, use radiobutton

from tkinter import Tk, Menu

# root window
root = Tk()
root.geometry('320x150')
root.title('Menu Demo')


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

# create the file_menu
file_menu = Menu(
    menubar,
    tearoff=0
)

sub_menu = Menu(file_menu, tearoff=0)
sub_menu.add_radiobutton(label='name1')
sub_menu.add_radiobutton(label='name2')
file_menu.add_cascade(
    label="name",
    menu=sub_menu
)

# add Exit menu item
menubar.add_cascade(
    label="File",
    menu=file_menu,
    underline=0
)

root.mainloop()
-1

You need to make "names" a cascade off of the file menu.

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

submenu = Menu(filemenu, tearoff=0)
filemenu.add_cascade(label="name", menu=submenu)

submenu.add_command(label="name1")
submenu.add_command(label="name2")
Bryan Oakley
  • 370,779
  • 53
  • 539
  • 685