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

编辑: admin 分类: python 发布时间: 2021-12-03 来源:互联网

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弹出式菜单的使用内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!

【本文由http://www.1234xp.com/xgzq.html首发,转载请保留出处,谢谢】