在 macOS 上使用 Tkinter 向 "Python" 菜单添加命令 - Python 3
Add commands to the "Python" menu with Tkinter on macOS - Python 3
我有一个包含菜单的 Tkinter 应用程序。我可以在这些级联中添加级联和命令,但我可以向原始应用程序菜单添加命令吗?在 macOS 上自动创建并获取应用程序名称的那个:
这是我的代码:
from tkinter import *
root = Tk()
menubar = Menu(root)
# I can create a cascade
cascade1 = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Cascade 1", menu=cascade1)
# And add a command to this cascade
cascade1.add_command(label="Command 1")
# How to add a command to the "Python" menu
# ???
root.config(menu=menubar)
root.mainloop()
我认为除了最顶部之外,不可能在该菜单的任何位置添加命令。但是,您可以通过创建名称为“apple”的菜单在顶部添加项目。您添加到该菜单的项目将显示在应用程序菜单的顶部。
注意:您必须先配置此菜单 ,然后 将菜单栏分配给根目录 window。
import tkinter as tk
root = tk.Tk()
menubar = tk.Menu(root)
appmenu = tk.Menu(menubar, name='apple')
menubar.add_cascade(menu=appmenu)
appmenu.add_command(label='My Custom Command')
appmenu.add_separator()
root.configure(menu=menubar)
root.mainloop()
有关参考,请参阅 tcl/tk 文档中的 Special menus in menubars。
我有一个包含菜单的 Tkinter 应用程序。我可以在这些级联中添加级联和命令,但我可以向原始应用程序菜单添加命令吗?在 macOS 上自动创建并获取应用程序名称的那个:
这是我的代码:
from tkinter import *
root = Tk()
menubar = Menu(root)
# I can create a cascade
cascade1 = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Cascade 1", menu=cascade1)
# And add a command to this cascade
cascade1.add_command(label="Command 1")
# How to add a command to the "Python" menu
# ???
root.config(menu=menubar)
root.mainloop()
我认为除了最顶部之外,不可能在该菜单的任何位置添加命令。但是,您可以通过创建名称为“apple”的菜单在顶部添加项目。您添加到该菜单的项目将显示在应用程序菜单的顶部。
注意:您必须先配置此菜单 ,然后 将菜单栏分配给根目录 window。
import tkinter as tk
root = tk.Tk()
menubar = tk.Menu(root)
appmenu = tk.Menu(menubar, name='apple')
menubar.add_cascade(menu=appmenu)
appmenu.add_command(label='My Custom Command')
appmenu.add_separator()
root.configure(menu=menubar)
root.mainloop()
有关参考,请参阅 tcl/tk 文档中的 Special menus in menubars。