Tkinter Menu 建立子菜单

Tkinter Menu 建立子菜单

建立菜单时所使用的概念如下。

menubar = Menu(root)
filemenu = Menu(menubar)
menu.add_cascade(label="File", menu=filemenu)

上述是建立File菜单。所谓的建立子菜单就是在File菜单内另外建立一个子菜单。如果所要建立的子菜单是Find子菜单,所要建的对象是findmenu,此时可以使用下列命令。

findmenu = Menu(filemenu)
xxx     # 这是建立子菜单列表
xxx     # 这是建立子菜单列表
filemenu.add_cascade(label="Find", menu=findmenu)

示例1

在File菜单内建立Find子菜单,这个子菜单内有Find Next和Find Pre命令。

from tkinter import *
from tkinter import messagebox

def findNext():
    messagebox.showinfo("Find Next","Find Next")
def findPrevious():
    messagebox.showinfo("Find Previous","Find Previous")

root = Tk()
root.title("apidemos.com")
root.geometry("300x180")

menubar = Menu(root)      # 建立最上层菜单
# 建立菜单类别对象,并将此菜单类别命名为File
filemenu = Menu(menubar)
menubar.add_cascade(label="File",menu=filemenu,underline=0)
# 在File菜单内建立菜单列表
# 首先在File菜单内建立find子菜单对象
findmenu = Menu(filemenu,tearoff=False)  # 取消分隔线 False
# filemenu.add_cascade(label="Find",menu=findmenu) ############## 可以提前到这 
findmenu.add_command(label="Find Next",command=findNext)
findmenu.add_separator() ########################################
findmenu.add_command(label="Find Previous",command=findPrevious)
filemenu.add_cascade(label="Find",menu=findmenu) ############## 提前 

# 下面是增加分隔线和建立Exit!子菜单
filemenu.add_separator()
filemenu.add_separator()############################################
filemenu.add_command(label="Exit!",command=root.destroy,underline=0)

root.config(menu=menubar)

root.mainloop()

输出:

Tkinter Menu 建立子菜单

由于在子菜单的设计中一般为省略虚线分隔线设计,所以笔者在第19行的Menu( )方法中增加了tearoff=False。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程