不添加子菜單,將命令添加到menubar.add_cascade中
时间: 2024-04-16 10:27:13 浏览: 23
要将命令添加到`menubar.add_cascade`中而不添加子菜单,你可以在`command`参数中指定要执行的函数或方法。
以下是示例代码:
```python
import tkinter as tk
def command_function():
print("执行菜单命令")
root = tk.Tk()
menubar = tk.Menu(root)
root.config(menu=menubar)
menubar.add_cascade(label="請假填寫", command=command_function)
root.mainloop()
```
在上面的示例中,使用`menubar.add_cascade`函数将菜单项添加到菜单栏中。通过`command`参数,将`command_function`函数与菜单项关联起来。
当用户点击菜单项时,`command_function`函数将被调用,并执行相应的操作。
你可以根据需要修改`command_function`函数,以实现你想要的功能。
希望这个示例能满足你的需求!
相关问题
# 创建文件菜单及其子菜单 filemenu = tk.Menu(menubar, tearoff=0) menubar.add_cascade(label="請假填寫", menu=filemenu, compound='left', image='', foreground='blue',font=('Arial', 18)) filemenu.add_command(label="請假填寫", command=self.請假頁面)修改這個代碼,不要顯示子菜單
要修改代码以隐藏子菜单,你只需要删除`file.add_command()`这一行。这样,将不会显示任何子菜单。
以下是修改后的代码:
```python
# 创建文件菜单及其子菜单
filemenu = tk.Menu(menubar, tearoff=0)
menubar.add_cascade(label="請假填寫", menu=filemenu, compound='left', image='', foreground='blue', font=('Arial', 18))
# 不添加子菜单
# 添加其他菜单项或命令
# filemenu.add_command(label="其他菜单项", command=其他命令)
```
这样,只会显示一个带有"label"为"請假填寫"的菜单项,没有任何子菜单。
请注意,如果你想添加其他菜单项或命令,可以取消注释`filemenu.add_command()`行,并根据需要进行修改。
希望这个修改满足了你的需求!
class ExcelApp: def __init__(self, master): self.master = master master.title("Excel App") # 获取屏幕的宽度和高度 screen_width = master.winfo_screenwidth() screen_height = master.winfo_screenheight() # 将窗口的大小设置为屏幕的大小 master.geometry("%dx%d" % (screen_width, screen_height)) # 创建菜单栏 menubar = tk.Menu(master) master.config(menu=menubar) # 创建文件菜单及其子菜单 filemenu = tk.Menu(menubar, tearoff=0) filemenu.add_command(label="PA綫點檢表", command=lambda: self.load_excel("D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx")) filemenu.add_command(label="Excel 2", command=lambda: self.load_excel("excel2.xlsx")) filemenu.add_command(label="Excel 3", command=lambda: self.load_excel("excel3.xlsx")) menubar.add_cascade(label="文件", menu=filemenu) # 创建帮助菜单及其子菜单 helpmenu = tk.Menu(menubar, tearoff=0) helpmenu.add_command(label="关于", command=self.show_about) menubar.add_cascade(label="帮助", menu=helpmenu)怎麽獲取用戶選擇的子菜單名稱
你可以在回调函数中使用 `event.widget` 来获取被点击的菜单项,然后使用 `event.widget["label"]` 来获取菜单项的文本标签。具体实现代码如下:
```
def load_excel(self, filename):
print("用户选择了菜单项:", self.master.focus_get()["label"])
# TODO: 加载 Excel 文件
filemenu.add_command(label="PA綫點檢表", command=lambda: self.load_excel("D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx"))
```
在上面的代码中,`self.master.focus_get()` 获取的是当前获取焦点的控件,也就是被点击的菜单项。然后通过 `["label"]` 的方式获取菜单项的文本标签。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)