创建菜单栏 menu_bar = tk.Menu(master) # 创建“文件”菜单 file_menu = tk.Menu(menu_bar, tearoff=0) file_menu.add_command(label="5M點檢表", command=lambda: self.read_from_excel(file_menu, "5M點檢表")) file_menu.add_command(label="Router首件检查记录表", command=lambda: self.read_from_excel1(file_menu, "Router首件检查记录表")) file_menu.add_command(label="板组作业首件检查记录表", command=lambda: self.read_from_excel2(file_menu, "板组作业首件检查记录表")) # 创建“保养”菜单 maintenance_menu = tk.Menu(menu_bar, tearoff=0) maintenance_menu.add_command(label="日保養", command=lambda: self.read_from_excel3(maintenance_menu, "日保養")) maintenance_menu.add_command(label="周保養", command=lambda: self.read_from_excel4(maintenance_menu, "周保養")) # 创建“测试”菜单 test_menu = tk.Menu(menu_bar, tearoff=0) test_menu.add_command(label="人工測試站表單", command=lambda: self.read_from_excel5(test_menu, "人工測試站表單")) test_menu.add_command(label="自動化測試站表單", command=lambda: self.read_from_excel6(test_menu, "自動化測試站表單")) # 将子菜单添加到菜单栏 menu_bar.add_cascade(label="PA", menu=file_menu) menu_bar.add_cascade(label="保养表單", menu=maintenance_menu) menu_bar.add_cascade(label="F/T表單", menu=test_menu) # 将菜单栏添加到主窗口 master.config(menu=menu_bar)把這個代碼修改為多級菜單的代碼
时间: 2023-11-14 10:04:21 浏览: 51
可以通过添加子菜单的方式实现多级菜单,以下是修改后的代码:
```
menu_bar = tk.Menu(master)
# 创建“文件”菜单
file_menu = tk.Menu(menu_bar, tearoff=0)
file_menu.add_command(label="5M點檢表", command=lambda: self.read_from_excel(file_menu, "5M點檢表"))
file_menu.add_command(label="Router首件检查记录表", command=lambda: self.read_from_excel1(file_menu, "Router首件检查记录表"))
file_menu.add_command(label="板组作业首件检查记录表", command=lambda: self.read_from_excel2(file_menu, "板组作业首件检查记录表"))
# 创建“保养”菜单
maintenance_menu = tk.Menu(menu_bar, tearoff=0)
maintenance_menu.add_command(label="日保養", command=lambda: self.read_from_excel3(maintenance_menu, "日保養"))
maintenance_menu.add_command(label="周保養", command=lambda: self.read_from_excel4(maintenance_menu, "周保養"))
# 创建“测试”菜单
test_menu = tk.Menu(menu_bar, tearoff=0)
test_menu.add_command(label="人工測試站表單", command=lambda: self.read_from_excel5(test_menu, "人工測試站表單"))
test_menu.add_command(label="自動化測試站表單", command=lambda: self.read_from_excel6(test_menu, "自動化測試站表單"))
# 创建“PA”子菜单
pa_menu = tk.Menu(file_menu, tearoff=0)
pa_menu.add_command(label="PA1", command=lambda: self.read_from_excel(pa_menu, "PA1"))
pa_menu.add_command(label="PA2", command=lambda: self.read_from_excel(pa_menu, "PA2"))
file_menu.add_cascade(label="PA", menu=pa_menu)
# 创建“保养表单”子菜单
daily_menu = tk.Menu(maintenance_menu, tearoff=0)
daily_menu.add_command(label="日常保养表单1", command=lambda: self.read_from_excel(daily_menu, "日常保养表单1"))
daily_menu.add_command(label="日常保养表单2", command=lambda: self.read_from_excel(daily_menu, "日常保养表单2"))
maintenance_menu.add_cascade(label="日常保养表单", menu=daily_menu)
weekly_menu = tk.Menu(maintenance_menu, tearoff=0)
weekly_menu.add_command(label="周保养表单1", command=lambda: self.read_from_excel(weekly_menu, "周保养表单1"))
weekly_menu.add_command(label="周保养表单2", command=lambda: self.read_from_excel(weekly_menu, "周保养表单2"))
maintenance_menu.add_cascade(label="周保养表单", menu=weekly_menu)
# 创建“F/T表单”子菜单
manual_menu = tk.Menu(test_menu, tearoff=0)
manual_menu.add_command(label="人工F/T表单1", command=lambda: self.read_from_excel(manual_menu, "人工F/T表单1"))
manual_menu.add_command(label="人工F/T表单2", command=lambda: self.read_from_excel(manual_menu, "人工F/T表单2"))
test_menu.add_cascade(label="人工F/T表单", menu=manual_menu)
auto_menu = tk.Menu(test_menu, tearoff=0)
auto_menu.add_command(label="自动化F/T表单1", command=lambda: self.read_from_excel(auto_menu, "自动化F/T表单1"))
auto_menu.add_command(label="自动化F/T表单2", command=lambda: self.read_from_excel(auto_menu, "自动化F/T表单2"))
test_menu.add_cascade(label="自动化F/T表单", menu=auto_menu)
# 将菜单添加到菜单栏
menu_bar.add_cascade(label="文件", menu=file_menu)
menu_bar.add_cascade(label="保养表单", menu=maintenance_menu)
menu_bar.add_cascade(label="F/T表单", menu=test_menu)
# 将菜单栏添加到主窗口
master.config(menu=menu_bar)
```
注意:子菜单应该使用 `add_cascade` 方法添加到父菜单中,而不是使用 `add_command`。这样可以创建多级菜单。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)