美文网首页
python_tkinter_多级子菜单

python_tkinter_多级子菜单

作者: 尼古拉斯丶县长 | 来源:发表于2018-11-28 20:01 被阅读0次

我在给微信提供的itchat模块写图形化界面时遇到的问题之一:tkinter创建多级子菜单。
示例代码如下:


import tkinter

#主窗口:

window= tkinter.Tk()

window.title("简易版微信小程序")

window.resizable(width=False, height=False)# 窗口大小不可改变

window.geometry("1000x800+650+100")

#顶级菜单,显示在窗口最上方

menubar= tkinter.Menu(window)

#fmenu可理解为菜单容器,用于add菜单项

fmenu1=tkinter.Menu(window, tearoff=True)#tearoff=True 表示这个菜单可以被拖拽出来

fmenu1.add_separator()#分割线

fmenu1.add_command(label='菜单1-1')

fmenu1.add_separator()#分割线

fmenu1.add_command(label='菜单1-2')

fmenu1.add_separator()#分割线

fmenu1.add_command(label='菜单1-3')

fmenu2=tkinter.Menu(window)

fmenu2.add_separator()#分割线

fmenu2.add_command(label='菜单2-1')

fmenu3= tkinter.Menu(window)

fmenu3.add_separator()

fmenu3.add_command(label='菜单3-1')

fmenu3.add_separator()

fmenu3.add_command(label='菜单3-2')

fmenu4=tkinter.Menu(window)#创建了第四个菜单容器,add四个菜单容器,实现多级子菜单

fmenu4_1=tkinter.Menu(window)

fmenu4_1.add_command(label='菜单4-子菜单1-1')

fmenu4_1.add_command(label='菜单4-子菜单1-2')

fmenu4_2=tkinter.Menu(window)

fmenu4_2.add_command(label='菜单4-子菜单2-1')

fmenu4_2.add_command(label='菜单4-子菜单2-2')

fmenu4_3=tkinter.Menu(window)

fmenu4_3.add_command(label='菜单4-子菜单3-1')

fmenu4_3.add_command(label='菜单4-子菜单3-2')

fmenu4_4=tkinter.Menu(window)

fmenu4_4.add_command(label='菜单4-子菜单4-1')

fmenu4_4.add_command(label='菜单4-子菜单4-2')

#将fmenu4_1,fmenu4_2,fmenu4_3,fmenu4_4四个菜单容器加入fmenu4菜单容器中

fmenu4.add_cascade(label='菜单4-子菜单1', menu=fmenu4_1)

fmenu4.add_cascade(label='菜单4-子菜单2', menu=fmenu4_2)

fmenu4.add_cascade(label='菜单4-子菜单3', menu=fmenu4_3)

fmenu4.add_cascade(label='菜单4-子菜单4', menu=fmenu4_4)

#将“fmenu1、fmenu2、fmenu3、fmenu4”四个菜单容器加入顶级菜单中,并设置该菜单容器的label

menubar.add_cascade(label='菜单1',menu=fmenu1)

menubar.add_cascade(label='菜单2',menu=fmenu2)

menubar.add_cascade(label='菜单3',menu=fmenu3)

menubar.add_cascade(label='菜单4',menu=fmenu4)

window['menu']= menubar#设置窗口的菜单为menubar

window.mainloop()

相关文章

网友评论

      本文标题:python_tkinter_多级子菜单

      本文链接:https://www.haomeiwen.com/subject/aqozqqtx.html