Python UI弹出菜单

本文详细介绍了如何在Tkinter中使用原始事件绑定方式创建和管理弹出菜单,包括菜单项的添加、鼠标右键事件监听与定位、Menu类的post方法应用。通过实例展示了如何响应不同菜单选项并演示了实际效果。
  1. 弹出菜单⼜叫“上下⽂菜单”,也叫“右键菜单”,它通常是⿏标单击右键产⽣的菜单,因此也称“右键菜单” 的。

  2. 很多界⾯库⾥⾯都是给出了弹出菜单的简单的制作⽅法的,但是 tkinter ⾥⾯我们却只能使⽤⽐较原始的事件绑定的⽅式去做。

  3. ⼤体思路就是:我们先新建⼀个菜单,然后向菜单项中添加各种功能,最后我们监听⿏标右键消息,如果是⿏标 右键被单击,此时可以根据需要判断下⿏标位置来确定是哪个弹出菜单被弹出,然后使⽤ Menu 类的 pop ⽅法来弹出 菜单。

4.Menu 类⾥⾯有⼀个 post ⽅法,它接收两个参数,即 x 和 y 坐标,它会在相应的位置弹出菜单。

  1. ⽤ bind ⽅法来绑定事件,⽽且要记得⿏标右键是⽤的

测试代码如下:

from tkinterimport *

def PopMethod():

    global wnd

    Label(wnd, text='I Love Python').pack()



def pop(event):

menuBar.post(event.x_root, event.y_root)



wnd = Tk()

menuBar = Menu(wnd)

for item in ["C", "C++", "Java", "C#", "PHP", "JavaScript", "SQL"]:

    menuBar.add_command(label=item)

menuBar.add_command(label="Python", command=PopMethod)

wnd.bind("<Button-3>", pop)# 鼠标右击绑定

wnd.mainloop()

效果如下:

单击右键

针对Python的菜单有独立添加事件,如果在点击Python,就会触发弹出菜单的事件,如下图

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flysh05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值