tkinter 应用程序中未显示 (Mac) 的 tkinter 菜单
tkinter menu not showing (Mac) in the tkinter app
我尝试用 tkinter 和 python 创建一个菜单。我使用的是最新的 Python,我使用的是最新的 Mac OS Monterey。
import tkinter as tk
class MainApp(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
my_menu = tk.Menu(self.parent)
self.parent.config(menu=my_menu)
app_menu = tk.Menu(my_menu)
my_menu.add_cascade(label="Options", menu=app_menu)
app_menu.add_separator()
app_menu.add_command(label="Exit", command=self.confirm_exit)
self.label = tk.Label(self.parent, text="testing", pady=10, borderwidth=1)
self.label.pack(fill='both')
def confirm_exit(self):
self.parent.destroy()
def main():
root = tk.Tk()
app = MainApp(root)
app.pack()
root.mainloop()
if __name__ == "__main__":
main()
菜单在屏幕顶部显示为 Mac 上的本机菜单栏。有什么方法可以将菜单栏添加到 Mac 上的 tkinter 应用程序本身?
The menu shows at the top of the screen as a native menubar on Mac. Is there any way you can add the menubar to the tkinter app itself on Mac?
不,没有,除非你使用 XQuartz 和 tkinter 的 X11 版本。菜单和菜单栏设计为原生 OSX 和 Windows。
您可以使用 Frame
和一些 Menubutton
小部件模拟菜单栏。但是,您仍然会在顶部看到菜单。
我尝试用 tkinter 和 python 创建一个菜单。我使用的是最新的 Python,我使用的是最新的 Mac OS Monterey。
import tkinter as tk
class MainApp(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
my_menu = tk.Menu(self.parent)
self.parent.config(menu=my_menu)
app_menu = tk.Menu(my_menu)
my_menu.add_cascade(label="Options", menu=app_menu)
app_menu.add_separator()
app_menu.add_command(label="Exit", command=self.confirm_exit)
self.label = tk.Label(self.parent, text="testing", pady=10, borderwidth=1)
self.label.pack(fill='both')
def confirm_exit(self):
self.parent.destroy()
def main():
root = tk.Tk()
app = MainApp(root)
app.pack()
root.mainloop()
if __name__ == "__main__":
main()
菜单在屏幕顶部显示为 Mac 上的本机菜单栏。有什么方法可以将菜单栏添加到 Mac 上的 tkinter 应用程序本身?
The menu shows at the top of the screen as a native menubar on Mac. Is there any way you can add the menubar to the tkinter app itself on Mac?
不,没有,除非你使用 XQuartz 和 tkinter 的 X11 版本。菜单和菜单栏设计为原生 OSX 和 Windows。
您可以使用 Frame
和一些 Menubutton
小部件模拟菜单栏。但是,您仍然会在顶部看到菜单。