Mac系统下使用tkinter添加菜单栏不显示的问题求助
Mac下Tkinter菜单栏不显示的解决方案
MacOS中Tkinter的菜单栏默认会整合到屏幕顶部的系统菜单栏区域,而非窗口内部,这是系统级的适配逻辑,和Windows/Linux的显示方式差异很大,你之前的代码本身没有错误,只是没注意到菜单栏的位置。
修正后的可验证代码
添加具体菜单选项后,更容易确认菜单栏的存在:
from tkinter import * root = Tk(className="Menubar Demo") root.geometry("500x500") # 初始化主菜单栏 menubar = Menu(root) root.config(menu=menubar) # 创建File子菜单并添加功能选项 file_menu = Menu(menubar, tearoff=0) menubar.add_cascade(label="File", menu=file_menu) file_menu.add_command(label="New", command=lambda: print("新建文件")) file_menu.add_command(label="Open", command=lambda: print("打开文件")) file_menu.add_separator() file_menu.add_command(label="Quit", command=root.quit) root.mainloop()
关键说明
- 运行代码后,查看屏幕最左上角的系统菜单栏区域(和Mac自带应用的菜单栏位置一致),就能看到新增的"File"菜单。
- 如果强制要让菜单栏显示在窗口内部(不推荐,违背Mac设计规范),可以在创建主窗口后添加以下代码:
root.tk.call('tk', 'unsupported', 'MacWindowStyle', 'style', 'plain', root)
内容的提问来源于stack exchange,提问作者Tino
相关产品推荐
相关产品推荐

