如何在 Tkinter 中创建弹出菜单?
tkinterpythongui-programming更新于 2025/5/19 19:56:17
在需要用户交互的应用程序中,我们需要菜单栏。可以通过初始化 Menu(parent) 对象以及菜单项来创建菜单。可以通过初始化 tk_popup(x_root,y_root, False) 来创建弹出菜单,这可确保菜单在屏幕上可见。现在,我们将添加一个可通过鼠标按钮(右键单击)触发的事件。 grab_release() 方法设置鼠标按钮释放以取消设置弹出菜单。
示例
#导入所需库
from tkinter import *
from tkinter import ttk
#创建 Tkinter 框架实例
win = Tk()
#设置 Tkinter 库的几何形状
win.geometry("700x350")
label = Label(win, text="右键单击任意位置以显示菜单", font= ('Helvetica 18'))
label.pack(pady= 40)
#添加菜单
popup = Menu(win, tearoff=0)
#添加菜单项目
popup.add_command(label="New")
popup.add_command(label="Edit")
popup.add_separator()
popup.add_command(label="Save")
def menu_popup(event):
# 显示弹出菜单
try:
popup.tk_popup(event.x_root, event.y_root, 0)
finally:
# 释放抓取
popup.grab_release()
win.bind("<Button-3>", menu_popup)
button = ttk.Button(win, text="Quit", command=win.destroy)
button.pack()
mainloop()
输出
运行上述代码将显示一个带有标签和按钮的窗口。当我们用鼠标右键单击时,窗口中会出现一个弹出菜单。

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

