Soy un principiante en la programación de GUI en Python. Usando tk, el comando para crear un menú desplegable no importa si quiero abrir otra interfaz.
Si y resuelve, resuelve! !
de tkinter import *
def new_file():
print("Abrir nuevo archivo")
def open_file():
print("Abrir archivo existente")
def stub_action():
print("Selección de menú")
def makeCommandMenu ():
CmdBtn = Menubutton(mBar, text='Comandos de botones', subrayado=0)
CmdBtn.pack(side=LEFT, padx="2m") p>
CmdBtn.menu = Menú(CmdBtn)
CmdBtn.menu.add_command(label="Deshacer")
CmdBtn.menu.entryconfig(0, estado=DISABLED )
CmdBtn.menu.add_command(label='Nuevo...', subrayado=0, comando=nuevo_archivo)
CmdBtn.menu.add_command(label='Abrir.. .', subrayado=0, comando=open_file)
CmdBtn.menu.add_command(label='Fuente salvaje', subrayado=0,
font=('Tempus Sans ITC' , 14), comando=stub_action)
#CmdBtn.menu.add_command(bitmap="@bitmaps/RotateLeft")
CmdBtn.menu.add('separador') p>
CmdBtn.menu.add_command(label='Salir', subrayado=0,
fondo='blanco', fondo activo='verde',
comando=CmdBtn .quit)
CmdBtn['menu'] = CmdBtn.menu
return CmdBtn
def makeCascadeMenu():
CasBtn = Menubutton(mBar, text='Menús en cascada', subrayado=0)
CasBtn.pack(side=LEFT, padx="2m")
CasBtn.menu = Menú(CasBtn )
CasBtn.menu.choices = Menú(CasBtn.menu)
CasBtn.menu.choices.wierdones = Menú(CasBtn.m
enu.choices)
CasBtn.menu.choices.wierdones.add_command(label='A')
CasBtn.menu.choices.wierdones.add_command(label='B')
CasBtn.menu.choices.wierdones.add_command(label='C')
CasBtn.menu.choices.wierdones.add_command(label='D')
CasBtn.menu.choices.add_command(label='A')
CasBtn.menu.choices.add_command(label='B')
CasBtn.menu.choices .add_command(label='C')
CasBtn.menu.choices.add_command(label='D')
CasBtn.menu.choices.add_command(label='E' )
CasBtn.menu.choices.add_command(label='F')
CasBtn.menu.choices.add_cascade(label='G',
menu=CasBtn.menu.choices.wierdones)
CasBtn.menu.add_cascade(label='Scipts', menu=CasBtn.menu.choices)
CasBtn['menu'] = CasBtn.menu
return CasBtn
def makeCheckbuttonMenu():
ChkBtn = Menubutton(mBar, text='Checkbutton Menus', underline=0)
ChkBtn.pack(lado=IZQUIERDO, padx='2m')
ChkBtn.menu = Menú(ChkBtn)
ChkBtn.menu.add_checkbutton(label= 'A')
ChkBtn.menu.add_checkbutton(label='B')
ChkBtn.menu.add_checkbutton(label="C")
ChkBtn .menu.add_checkbutton(label='D')
ChkBtn.menu.add_checkbutton(label='E')
ChkBtn.menu.invoke(ChkBtn.menu.index(' C'))
ChkBtn['menu'] = ChkBtn.menu
return ChkBtn
def makeRadiobu
ttonMenu():
RadBtn = Menubutton(mBar, text='Radiobutton Menus', subrayado=0)
RadBtn.pack(side=LEFT, padx='2m')
RadBtn.menu = Menú(RadBtn)
RadBtn.menu.add_radiobutton(label='A')
RadBtn.menu.add_radiobutton(label='B ')
RadBtn.menu.add_radiobutton(label='C')
RadBtn.menu.add_radiobutton(label='D')
RadBtn.menu .add_radiobutton(label='E')
RadBtn.menu.add_radiobutton(label='F')
RadBtn.menu.add_radiobutton(label='G')
RadBtn.menu.add_radiobutton(label='H')
RadBtn.menu.add_radiobutton(label='I')
RadBtn['menu'] = RadBtn .menu
return RadBtn
def makeDisabledMenu():
Dummy_button = Menubutton(mBar, text='Menú deshabilitado', subrayado=0)
Dummy_button.pack(side=LEFT, padx='2m')
Dummy_button["state"] = DISABLED
devuelve Dummy_button
raíz = Tk()
mBar = Marco(raíz, relieve=ELEVADO, ancho de borde=2)
mBar.pack(relleno=X)
CmdBtn = makeCommandMenu ()
CasBtn = makeCascadeMenu()
ChkBtn = makeCheckbuttonMenu()
RadBtn = makeRadiobuttonMenu()
NoMenu = makeDisabledMenu()
mBar.tk_menuBar(CmdBtn, CasBtn, ChkBtn, RadBtn, NoMenu)
root.title('Menús')
root.mainloop() p>
p>