如何在Tkinter中创建弹出菜单?

如何在Tkinter中创建弹出菜单?

我们需要在需要用户交互的应用程序中使用菜单栏。可以通过初始化 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="新建")
popup.add_command(label="编辑")
popup.add_separator()
popup.add_command(label="保存")

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="退出", command=win.destroy)
button.pack()

mainloop()

输出

运行上述代码将显示一个带有标签和按钮的窗口。当我们用鼠标右键单击时,窗口中会出现一个弹出菜单。

如何在Tkinter中创建弹出菜单?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程