鱼C论坛

 找回密码
 立即注册
查看: 1475|回复: 3

[已解决]一个关于tkinter弹出菜单的问题

[复制链接]
发表于 2021-1-30 17:58:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在主界面上右键弹出一个菜单选项理解了 。
现在想在弹出的不同的Label窗口上,右键再弹出菜单 不知道事件怎么绑定了
程序如下,请大佬解惑

from tkinter import *


tool = Tk()

def op():
    pass
def sv():
    pss

def callback(event):
    menu = Menu(这里面不会写)
    menu.add_command(label = '打开',command = op)
    menu.add_command(label = '保存',command = sv)
    (下面不会写)

l1 = Label(tool,text='右键点我')

l2 = Label(tool,text ='也右键我')


l1.bind('<Button-3>',callback)
l1.pack()
l2.bind('<Button-3>',callback)
l2.pack()

mainloop()

最佳答案
2021-1-30 18:47:34
本帖最后由 qq1151985918 于 2021-1-30 18:51 编辑
from tkinter import *

tool = Tk()
tool.geometry("200x100")

def op():
    pass
def sv():
    pass

def callback(event):
    menu = Menu(tool ,tearoff=0)
    menu.add_command(label = '打开',command = op)
    menu.add_separator()
    menu.add_command(label = '保存',command = sv)
    menu.post(event.x_root, event.y_root)  

l1 = Label(tool,text='右键点我')

l2 = Label(tool,text ='也右键我')


l1.bind('<Button-3>',callback)
l1.pack()
l2.bind('<Button-3>',callback)
l2.pack()

mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-30 18:47:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qq1151985918 于 2021-1-30 18:51 编辑
from tkinter import *

tool = Tk()
tool.geometry("200x100")

def op():
    pass
def sv():
    pass

def callback(event):
    menu = Menu(tool ,tearoff=0)
    menu.add_command(label = '打开',command = op)
    menu.add_separator()
    menu.add_command(label = '保存',command = sv)
    menu.post(event.x_root, event.y_root)  

l1 = Label(tool,text='右键点我')

l2 = Label(tool,text ='也右键我')


l1.bind('<Button-3>',callback)
l1.pack()
l2.bind('<Button-3>',callback)
l2.pack()

mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-30 18:47:44 | 显示全部楼层


这样即可,参考代码:
from tkinter import *

tool = Tk()

def op():
    print('op')
def sv():
    print('sv')

def callback(event):
    menu.post(event.x_root, event.y_root)

menu = Menu(tool,tearoff=False)
menu.add_command(label = '打开',command = op)
menu.add_command(label = '保存',command = sv)

l1 = Label(tool,text='右键点我')
l2 = Label(tool,text ='也右键我')


l1.bind('<Button-3>',callback)
l1.pack()
l2.bind('<Button-3>',callback)
l2.pack()

mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-30 20:25:10 | 显示全部楼层
谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 15:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表