python TKinter弹出式菜单的实例方法

python TKinter弹出式菜单的实例方法

1、弹出菜单也叫上下文菜单,建立菜单并向菜单添加各种功能。

2、右键监听鼠标。如右键点击,则根据位置判断弹出。

3、调用Menupop方法。

4、add_separator添加分隔符。

实例

# 弹出式菜单案例
 
import tkinter
 
def makeLabel():
    global baseFrame
    tkinter.Label(baseFrame, text="PHP是最好的编程语言,我用Python").pack()
    
baseFrame = tkinter.Tk()
 
menubar = tkinter.Menu(baseFrame)
for x in ["麻辣香菇", "汽锅鸡", "东坡肘子"]:
    menubar.add_separator()
    menubar.add_command(label=x)
    
menubar.add_command(label="重庆火锅", command=makeLabel)
 
# 事件处理函数一定要至少有一个参数,且第一个参数表示的是系统事件
def pop(event):
    # 注意使用 event.x 和 event.x_root 的区别
    # menubar.post(event.x, event.y)
    menubar.post(event.x_root,  event.y_root)
    
baseFrame.bind("<Button-3>", pop)
 
baseFrame.mainloop()

实例扩展:

from tkinter import *
def sys_callbak():
      pass
def fun_callbak():
      pass
def no_thing(event):
      popmenu.post(event.x_root,event.y_root)
master = Tk()
master.title("新闻自动抓取")
menubar = Menu(master)
sysmenu = Menu(menubar,tearoff=False)
sysmenu.add_command(label="添加",command=sys_callbak)
sysmenu.add_command(label="修改",command=sys_callbak)
sysmenu.add_separator()
sysmenu.add_command(label="退出",command=sys_callbak)
menubar.add_cascade(label="系统",menu=sysmenu)
funmenu = Menu(menubar)
funmenu.add_command(label="添加",command=fun_callbak)
funmenu.add_command(label="修改",command=fun_callbak)
menubar.add_cascade(label="功能",menu=funmenu)

popmenu = Menu(master)
popmenu.add_command(label="未设置",command=no_thing)
popmenu.add_command(label="想的美",command=no_thing)
frame = Frame(master,width=312,height=512)
frame.bind("<Button-3>",no_thing)
frame.grid()
master.grid()
master.config(menu=menubar)
mainloop()

到此这篇关于python TKinter弹出式菜单的实例方法的文章就介绍到这了,更多相关python TKinter弹出式菜单的使用内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!