如何在 Tkinter 中创建弹出式菜单?
在需要用户交互的应用程序中需要菜单栏。可以通过对菜单项一起初始化 Menu(parent) 对象来创建菜单。可以通过初始化 tk_popup(x_root,y_root, False) 来创建弹出菜单,确保在屏幕上可见。现在,我们将添加一个可通过鼠标按钮(右击)触发的事件。grab_release() 方法设置了鼠标按钮释放以取消设置弹出菜单。
示例
#Import the required libraries from tkinter import * from tkinter import ttk #Create an instance of Tkinter frame win = Tk() #Set the geometry of the Tkinter library win.geometry("700x350") label = Label(win, text="Right-click anywhere to display a menu", font= ('Helvetica 18')) label.pack(pady= 40) #Add Menu popup = Menu(win, tearoff=0) #Adding Menu Items popup.add_command(label="New") popup.add_command(label="Edit") popup.add_separator() popup.add_command(label="Save") def menu_popup(event): # display the popup menu try: popup.tk_popup(event.x_root, event.y_root, 0) finally: #Release the grab popup.grab_release() win.bind("<Button-3>", menu_popup) button = ttk.Button(win, text="Quit", command=win.destroy) button.pack() mainloop()
输出
运行以上代码将显示一个带有标签和按钮的窗口。当我们用鼠标右键单击时,窗口中会出现一个弹出菜单。
广告