返回顶部
首页 > 资讯 > 后端开发 > Python >python TKinter弹出式菜单的实例方法
  • 589
分享到

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

2024-04-02 19:04:59 589人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

1、弹出菜单也叫上下文菜单,建立菜单并向菜单添加各种功能。 2、右键监听鼠标。如右键点击,则根据位置判断弹出。 3、调用Menupop方法。 4、add_separator添加分隔符

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

--结束END--

本文标题: python TKinter弹出式菜单的实例方法

本文链接: https://lsjlt.com/news/154397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作