Python Tkinter 之Menu控件(Python GUI 系列9)
1. 序言
本章介绍Tkinter的Menu控件,本文是Python GUI系列的第9篇文章,整个系统约20篇博客,将全面的介绍Python Tkinter常用控件,最后还将基于Tkinter搭建两个比较完整的小项目。
2. 环境信息
********************************
本系列运行平台:Mac OS 10.13.4
Python 版本:3.6.4
********************************
3. Menu
Menu被用来创建一个菜单,创建Menu类的实例,然后使用add方法添加命令或者其他菜单内容。
使用方法:Menu(myWindow,option…),其中option与TKinter其它控件大多一致,如下列表:
函数
描述
bg
背景色,如bg=”red”,bg="#FF56EF"
fg
前景色,如fg=”red”,fg="#FF56EF"
font
字体及大小,如font=("Arial", 8),font=("Helvetica 16 bold italic")
relief
指定外观装饰边界附近的标签,默认是平的,可以设置的参数:flat、groove、raised、ridge、solid、sunken
selectcolor
设置选中区的颜色
bd
设置Checkbutton的边框大小;bd(bordwidth)缺省为1或2个像素
特有函数如下:
函数名称
说明
menu.add_cascade
添加子选项
menu.add_command
添加命令(label参数为显示内容)
menu.add_separator
添加分隔线
menu.add_checkbutton
添加确认按钮
delete
删除
4. 实例
创建一个菜单组
from tkinter import *
#创建窗口
myWindow=Tk()
myWindow.title("菜单")
myWindow.geometry("400x300+300+100")
# 创建一个菜单项,类似于导航栏,顶层菜单
menubar=Menu(myWindow)
# 创建菜单项
fmenu1=Menu(myWindow)
for item in ['新建','打开','保存','另存为']:
# 如果该菜单是顶层菜单的一个菜单项,则它添加的是下拉菜单的菜单项。
fmenu1.add_command(label=item)
fmenu2=Menu(myWindow)
for item in ['复制','粘贴','剪切']:
fmenu2.add_command(label=item)
fmenu3=Menu(myWindow)
for item in ['默认视图','新式视图']:
fmenu3.add_command(label=item)
fmenu4=Menu(myWindow)
for item in ["版权信息","其他说明"]:
fmenu4.add_command(label=item)
# add_cascade 的一个很重要的属性就是 menu 属性,它指明了要把那个菜单级联到该菜单项上,
# 当然,还必不可少的就是 label 属性,用于指定该菜单项的名称
menubar.add_cascade(label="文件",menu=fmenu1)
menubar.add_cascade(label="编辑",menu=fmenu2)
menubar.add_cascade(label="视图",menu=fmenu3)
menubar.add_cascade(label="关于",menu=fmenu4)
# 最后可以用窗口的 menu 属性指定我们使用哪一个作为它的顶层菜单
myWindow.config(menu=menubar)
#进入消息循环
myWindow.mainloop()
运行结果: