You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Custom Tkinter窗口中添加菜单栏?

在Custom Tkinter窗口中添加菜单栏的方法

Custom Tkinter本身没有专属的菜单栏组件,直接使用tkinter原生的Menu类就能实现,步骤和原生tkinter基本一致,以下是完整实现方案:

完整代码示例

import customtkinter as ctk
from tkinter import Menu

# 初始化Custom Tkinter主窗口
root = ctk.CTk()
root.title("带菜单栏的CTk窗口")
root.geometry("600x400")

# 创建菜单栏并绑定到主窗口
menu_bar = Menu(root)
root.config(menu=menu_bar)

# 添加「文件」菜单及命令项
file_menu = Menu(menu_bar, tearoff=0)
file_menu.add_command(label="新建", command=lambda: print("执行新建操作"))
file_menu.add_command(label="打开", command=lambda: print("执行打开操作"))
file_menu.add_separator()  # 添加菜单分隔线
file_menu.add_command(label="退出", command=root.quit)
menu_bar.add_cascade(label="文件", menu=file_menu)

# 添加「编辑」菜单及命令项
edit_menu = Menu(menu_bar, tearoff=0)
edit_menu.add_command(label="复制", command=lambda: print("执行复制操作"))
edit_menu.add_command(label="粘贴", command=lambda: print("执行粘贴操作"))
menu_bar.add_cascade(label="编辑", menu=edit_menu)

# 启动主循环
root.mainloop()

关键说明

  • tearoff=0:禁用菜单的默认拖拽分离功能,让菜单固定在窗口顶部
  • 所有命令的command参数可以替换为你自己的业务函数,比如打开文件对话框、执行编辑逻辑等
  • 可以通过add_separator()在菜单项之间添加分隔线,优化菜单布局

内容的提问来源于stack exchange,提问作者Aavez siddiqui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:35:26