鱼C论坛

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

[已解决]Python 用tkinter实现的下拉菜单中的每一项如何绑定鼠标左键单击事件

[复制链接]
发表于 2018-5-6 15:37:31 | 显示全部楼层 |阅读模式

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

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

x
请问如何通过单击下拉菜单中的某一项去实现某一个功能?单击如何绑定到某个函数?
最佳答案
2018-5-6 16:02:49
MENU 绑定个自的函数就行了。代码如下:
  1. from tkinter import *

  2. root = Tk()

  3. def callback():
  4.     print("~被调用了~")

  5. # 创建一个顶级菜单
  6. menubar = Menu(root)

  7. # 创建一个下拉菜单“文件”,然后将它添加到顶级菜单中
  8. filemenu = Menu(menubar, tearoff=False)
  9. filemenu.add_command(label="打开", command=callback)
  10. filemenu.add_command(label="保存", command=callback)
  11. filemenu.add_separator()
  12. filemenu.add_command(label="退出", command=root.quit)
  13. menubar.add_cascade(label="文件", menu=filemenu)

  14. # 创建另一个下拉菜单“编辑”,然后将它添加到顶级菜单中
  15. editmenu = Menu(menubar, tearoff=False)
  16. editmenu.add_command(label="剪切", command=callback)
  17. editmenu.add_command(label="拷贝", command=callback)
  18. editmenu.add_command(label="粘贴", command=callback)
  19. menubar.add_cascade(label="编辑", menu=editmenu)

  20. # 显示菜单
  21. root.config(menu=menubar)

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

使用道具 举报

发表于 2018-5-6 15:50:23 | 显示全部楼层
视频里有,去看Menu组件
m=Menu(xxx)
m.add_command(label='xxx',command='xx')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-6 16:00:33 | 显示全部楼层
你是用什么控件实现下拉的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-6 16:02:49 | 显示全部楼层    本楼为最佳答案   
MENU 绑定个自的函数就行了。代码如下:
  1. from tkinter import *

  2. root = Tk()

  3. def callback():
  4.     print("~被调用了~")

  5. # 创建一个顶级菜单
  6. menubar = Menu(root)

  7. # 创建一个下拉菜单“文件”,然后将它添加到顶级菜单中
  8. filemenu = Menu(menubar, tearoff=False)
  9. filemenu.add_command(label="打开", command=callback)
  10. filemenu.add_command(label="保存", command=callback)
  11. filemenu.add_separator()
  12. filemenu.add_command(label="退出", command=root.quit)
  13. menubar.add_cascade(label="文件", menu=filemenu)

  14. # 创建另一个下拉菜单“编辑”,然后将它添加到顶级菜单中
  15. editmenu = Menu(menubar, tearoff=False)
  16. editmenu.add_command(label="剪切", command=callback)
  17. editmenu.add_command(label="拷贝", command=callback)
  18. editmenu.add_command(label="粘贴", command=callback)
  19. menubar.add_cascade(label="编辑", menu=editmenu)

  20. # 显示菜单
  21. root.config(menu=menubar)

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-12 03:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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