Python3 Tkinter-Menu

1.创建

from tkinter import *

root=Tk()
menubar=Menu(root)

def hello():
    print('Hello Menu!')
for item in ['Python','Php','CPP']:
    menubar.add_command(label=item,command=hello)

root['menu']=menubar

root.mainloop()
图片.png

2.下拉菜单

from tkinter import *

root=Tk()
menubar=Menu(root)
filemenu=Menu(menubar,tearoff=0)

def hello():
    print('Hello Menu!')
for item in ['Python','Php','CPP']:
    filemenu.add_command(label    =item,command=hello)

menubar.add_cascade(label='Language',menu=filemenu)
root['menu']=menubar

root.mainloop()
图片.png

3.添加Checkbutton项

from tkinter import *

root=Tk()
def printItem():
    print('Python=',vPython.get())
    print('PHP',vPHP.get())
    print('CPP=',vCPP.get())
    print('C=',vC.get())
    print('Java=',vJava.get())

menubar=Menu(root)

vPython=StringVar()
vPHP=StringVar()
vCPP=StringVar()
vC=StringVar()
vJava=StringVar()

filemenu=Menu(menubar,tearoff=0)

for k,v in {'Python':vPython,'PHP':vPHP,'CPP':vCPP,'C':vC,'Java':vJava}.items():
    filemenu.add_checkbutton(label=k,command=printItem,variable=v)

menubar.add_cascade(label='Language',menu=filemenu)
root['menu']=menubar
root.mainloop()

root.mainloop()
图片.png

4.添加Radiobutton项

from tkinter import *

root=Tk()

menubar=Menu(root)
vLang=StringVar()
def printItem():
    print('vLang=',vLang.get())

filemenu=Menu(menubar,tearoff=0)
for k in ['Python','PHP','CPP','C']:
    filemenu.add_radiobutton(label=k,command=printItem,variable=vLang)

menubar.add_cascade(label='Language',menu=filemenu)

root['menu']=menubar

root.mainloop()
图片.png

5.添加分隔符

from tkinter import *

root=Tk()

menubar=Menu(root)

def printItem():
    print('add_separator')

filemenu=Menu(menubar,tearoff=0)
for k in ['Python','PHP','CPP','C']:
    filemenu.add_command(label=k,command=printItem)
    filemenu.add_separator()

menubar.add_cascade(label='Language',menu=filemenu)
root['menu']=menubar

root.mainloop()
图片.png

6.快捷菜单

from tkinter import *

root=Tk()

menubar=Menu(root)

def printItem():
    print('popup menu')

filemenu=Menu(menubar,tearoff=0)
for k in ['Python','PHP','CPP','C']:
    filemenu.add_command(label=k,command=printItem)
    filemenu.add_separator()

menubar.add_cascade(label='Language',menu=filemenu)

def popup(event):
    menubar.post(event.x_root,event.y_root)

root.bind('<Button-3>',popup)

root.mainloop()
图片.png

7.菜单项的操作

from tkinter import *

root=Tk()

menubar=Menu(root)

def printItem():
    print('add_separator')

filemenu=Menu(menubar,tearoff=0)
for k in range(5):
    filemenu.add_command(label=str(k),command=printItem)

menubar.add_cascade(label='Language',menu=filemenu)

filemenu.insert_command(1,label='1000',command=printItem)
filemenu.insert_checkbutton(2,label='2000',command=printItem)
filemenu.insert_radiobutton(3,label='3000',command=printItem)
filemenu.insert_separator(1)
filemenu.insert_separator(5)

filemenu.delete(6,9)
filemenu.delete(0)

root['menu']=menubar

root.mainloop()
图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,588评论 0 11
  • 3.1. 介绍 现在,您已经安装了Wireshark并有可能热衷于开始捕捉您的第一个数据包。在接下来的章节中,我们...
    wwyyzz阅读 1,400评论 0 1
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,192评论 4 61
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,498评论 0 17
  • 你坐在江那头的孤独里 离我很远 我站在江这头寂寞中 思想沉重 你的心像发热的光芒 指引我朝你的方向飞翔 没人知道,...
    桑榆非晚_efa2阅读 252评论 0 10