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

如何用Python的Tkinter创建右上角类Web/移动端汉堡菜单

用Tkinter实现右上角汉堡菜单

核心思路

汉堡菜单本质是一个触发下拉菜单的按钮,Tkinter自带的Menubutton组件可以直接实现这个功能,配合Menu组件定义菜单项,再通过布局把按钮固定在窗口右上角即可。

完整可运行代码

import tkinter as tk
from tkinter import messagebox

def on_file_open():
    messagebox.showinfo("提示", "打开文件功能触发")

def on_exit():
    root.quit()

# 创建主窗口
root = tk.Tk()
root.title("汉堡菜单示例")
root.geometry("600x400")

# 创建下拉菜单
menu = tk.Menu(root, tearoff=0)
menu.add_command(label="打开文件", command=on_file_open)
menu.add_separator()  # 添加分隔线
menu.add_command(label="编辑", command=lambda: messagebox.showinfo("提示", "编辑功能触发"))
menu.add_command(label="帮助", command=lambda: messagebox.showinfo("提示", "帮助文档"))
menu.add_separator()
menu.add_command(label="退出", command=on_exit)

# 创建汉堡按钮(右上角)
hamburger_btn = tk.Menubutton(root, text="☰", font=("Arial", 16), relief="flat")
hamburger_btn.config(menu=menu)
# 布局到右上角
hamburger_btn.pack(side="right", padx=10, pady=10)

# 启动主循环
root.mainloop()

关键代码解释

  • 汉堡按钮样式:用Menubutton组件,文本设为"☰"(汉堡图标字符),字体调大,relief="flat"去掉按钮边框,让它更贴近网页/移动端的汉堡菜单样式。
  • 右上角布局:通过pack(side="right", padx=10, pady=10)把按钮固定在窗口右上角,padx和pady控制按钮和窗口边缘的间距。
  • 菜单关联:通过hamburger_btn.config(menu=menu)把下拉菜单绑定到按钮上,点击按钮就会弹出菜单。
  • 菜单项功能:每个add_command的command参数可以绑定自定义函数,实现具体功能;add_separator()用来添加菜单项之间的分隔线,提升可读性。

扩展优化

如果想要更美观的图标,也可以用图片代替字符:

# 假设你有一个hamburger.png图标
hamburger_img = tk.PhotoImage(file="hamburger.png")
hamburger_btn = tk.Menubutton(root, image=hamburger_img, relief="flat")

内容的提问来源于stack exchange,提问作者Mickael T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:05:28