软件界面创建菜单工具栏 tk.Menu(ZhuCaiDan,tearoff=False) | ZiCaiDan1.add_command(label="打开...") | 添加子菜单(二级菜单) | 添加三级菜单 | 使用ZiCaiDan1.add_separator()给菜单栏之间添加子菜单分隔符
# 一定要定义编码
# -*- coding: UTF-8 -*-
# 【1】导入库↓顺便给tkinter库取个别名为tk,
# 好处是调用的时候更方便调用。
import tkinter as tk
# --------自定义按钮对应的函数--开始--------------- #
def ZiCaiDan1_New_DianJi():
print("xxx")
# --------自定义按钮对应的函数--结束--------------- #
# 【1】创建软件窗口实体,窗体
chuangkou1=tk.Tk()
# 【2】软件界面顶部显示名称以及版本号
chuangkou1.title("软件界面-主菜单+子菜单")
# 【3】软件的长宽、在当前桌面屏幕的左边距、顶上边距
# 定义窗口自身宽度
ck1w=400
# 定义窗口自身高度
ck1h=300
# 获取屏幕宽度
pmw=chuangkou1.winfo_screenwidth()
# 获取屏幕高度
pmh=chuangkou1.winfo_screenheight()
# 计算水平方向的起点位置坐标
x1=pmw/2-ck1w/2
# 计算垂直方向的起点位置坐标
y1=pmh/2-ck1h/2
# 设置窗体所在屏幕的坐标位置
chuangkou1.geometry("%dx%d"%(pmw,pmh))
# 【4】软件界面窗体的背景属性,背景颜色改成绿色,绿色的颜色属性值
chuangkou1["background"]="#ffffcc"
# 【5】创建主菜单栏
ZhuCaiDan=tk.Menu(chuangkou1)
# 创建子菜单1,也就是“文件”的详细子菜单。
# “文件”>>------
# 顺便使用tearoff避免出现第一行无效子菜单
ZiCaiDan1=tk.Menu(ZhuCaiDan,tearoff=False)
ZiCaiDan1.add_command(label="新建...",command=ZiCaiDan1_New_DianJi)
ZiCaiDan1.add_command(label="打开...")
ZiCaiDan1.add_command(label="退出...")
# 有三级菜单的子菜单和没有三级菜单的子菜单之间加分隔符
ZiCaiDan1.add_separator()
# 创建三级菜单
SanJiCaiDan1=tk.Menu(ZiCaiDan1,tearoff=False)
SanJiCaiDan1.add_command(label="添加到收藏夹")
SanJiCaiDan1.add_command(label="添加到浏览器")
ZiCaiDan1.add_cascade(label="打开...",menu=SanJiCaiDan1)
# “编辑”下面的子菜单
ZiCaiDan2=tk.Menu(ZhuCaiDan,tearoff=False)
ZiCaiDan2.add_command(label="撤销...")
ZiCaiDan2.add_command(label="剪切...")
ZiCaiDan2.add_command(label="复制...")
ZhuCaiDan.add_cascade(label="文件",menu=ZiCaiDan1)
ZhuCaiDan.add_cascade(label="编辑",menu=ZiCaiDan2)
ZhuCaiDan.add_cascade(label="视图")
ZhuCaiDan.add_cascade(label="导航")
ZhuCaiDan.add_cascade(label="代码")
ZhuCaiDan.add_cascade(label="帮助")
# 配置窗体菜单模块,以下代码如果不加,主菜单将不能显示。
chuangkou1.config(menu=ZhuCaiDan)
# ------末尾必须放死循环代码---分割线------ #
# 【End.1】持续显示软件界面,相当于死循环,↓
# 【End.1】这个窗体的作用是监听这个界面发生的一切事件,包括鼠标点击动作。
# 【End.1】下面这个死循环代码必须放在最后面。
chuangkou1.mainloop()