python3使用tkinter做界面之菜单

from tkinter import *


def new_file():
    print("Open new file")


def open_file():
    print("Open existing file")


def stub_action():
    print("Menu select")


def makeCommandMenu():
    CmdBtn = Menubutton(mBar, text='Button Commands', underline=0)
    CmdBtn.pack(side=LEFT, padx="2m")
    CmdBtn.menu = Menu(CmdBtn)


    CmdBtn.menu.add_command(label="Undo")
    CmdBtn.menu.entryconfig(0, state=DISABLED)


    CmdBtn.menu.add_command(label='New...', underline=0, command=new_file)
    CmdBtn.menu.add_command(label='Open...', underline=0, command=open_file)
    CmdBtn.menu.add_command(label='Wild Font', underline=0,
    font=('Tempus Sans ITC', 14), command=stub_action)
    #CmdBtn.menu.add_command(bitmap="@bitmaps/RotateLeft")
    CmdBtn.menu.add('separator')
    CmdBtn.menu.add_command(label='Quit', underline=0, 
    background='white', activebackground='green', 
    command=CmdBtn.quit)


    CmdBtn['menu'] = CmdBtn.menu
    return CmdBtn


def makeCascadeMenu():
    CasBtn = Menubutton(mBar, text='Cascading Menus', underline=0)
    CasBtn.pack(side=LEFT, padx="2m")
    CasBtn.menu = Menu(CasBtn)
    CasBtn.menu.choices = Menu(CasBtn.menu)
    CasBtn.menu.choices.wierdones = Menu(CasBtn.menu.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(side=LEFT, padx='2m')
    ChkBtn.menu = Menu(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 makeRadiobuttonMenu():
    RadBtn = Menubutton(mBar, text='Radiobutton Menus', underline=0)
    RadBtn.pack(side=LEFT, padx='2m')
    RadBtn.menu = Menu(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='Disabled Menu', underline=0)
    Dummy_button.pack(side=LEFT, padx='2m')
    Dummy_button["state"] = DISABLED
    return Dummy_button


root = Tk()
mBar = Frame(root, relief=RAISED, borderwidth=2)
mBar.pack(fill=X)


CmdBtn = makeCommandMenu()
CasBtn = makeCascadeMenu()
ChkBtn = makeCheckbuttonMenu()
RadBtn = makeRadiobuttonMenu()
NoMenu = makeDisabledMenu()


mBar.tk_menuBar(CmdBtn, CasBtn, ChkBtn, RadBtn, NoMenu)


root.title('Menus')
root.mainloop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值