Tkinter为菜单提供了menu类,该类即可代表菜单条,也可代表菜单。还可代表上下文菜单(右键菜单)。简单来说,Menu类就可以搞定所有菜单相关内容
程序可调用Menu的构造方法来创建菜单,在创建菜单之后可通过如下方法添加菜单项:
add_command():添加菜单项
add_checkbutton():添加复选框菜单项
add_radiobutton():添加单选钮菜单项
add_separator():添加菜单分隔条
上面的前三个方法都用于添加菜单项,因此都指出如下选项
label:指定菜单项的文本
command:指定为菜单项绑定的事件处理方法
image:指定菜单项的图标
compound:指定在菜单项中图标位于文字的哪个方向
有了菜单之后,接下来就是如何使用菜单,菜单有两种用法
在窗口上方通过菜单条管理菜单
通过鼠标右键触发右键菜单(上下文菜单)
在创建菜单之后如果要将菜单设置为窗口的菜单条(Menu对象可被当成菜单条使用),则将该菜单设为窗口的menu选项即可:
self.master[‘menu’] = menubar
为菜单添加子菜单使用add_cascaed(label,menu):
label:添加的子菜单的文本
menu:添加的子菜单
from tkinter import *
# 导入ttk
from tkinter import ttk
# 导入导入messagebox
from tkinter import messagebox
# 导入ImageTk,Image
from PIL import Image, ImageTk
# 导入filedialog
from tkinter import filedialog
class App:
def __init__(self, master):
self.master = master
self.init_menu()
# 创建菜单
def init_menu(self):
# 创建menubar,它被放入self.master中
menubar = Menu(self.master)
# 导入菜单项图标
self.master.filenew_icon = ImageTk.PhotoImage(
Image.open(r'C:\Users\Administrator\Desktop\GUIPhoto\本地磁盘c.jpg').resize((20, 20)))
self.master