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()
运行结果: