鱼C论坛

 找回密码
 立即注册
查看: 1883|回复: 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 编辑
  1. from tkinter import *

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

  4. def op():
  5.     pass
  6. def sv():
  7.     pass

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

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

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


  16. l1.bind('<Button-3>',callback)
  17. l1.pack()
  18. l2.bind('<Button-3>',callback)
  19. l2.pack()

  20. mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

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

  4. def op():
  5.     pass
  6. def sv():
  7.     pass

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

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

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


  16. l1.bind('<Button-3>',callback)
  17. l1.pack()
  18. l2.bind('<Button-3>',callback)
  19. l2.pack()

  20. mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


这样即可,参考代码:

  1. from tkinter import *

  2. tool = Tk()

  3. def op():
  4.     print('op')
  5. def sv():
  6.     print('sv')

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

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

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


  14. l1.bind('<Button-3>',callback)
  15. l1.pack()
  16. l2.bind('<Button-3>',callback)
  17. l2.pack()

  18. mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-30 20:25:10 | 显示全部楼层
谢谢大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 15:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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