1、弹出菜单也叫上下文菜单,建立菜单并向菜单添加各种功能。
2、右键监听鼠标。如右键点击,则根据位置判断弹出。
3、调用Menupop方法。
4、add_separator添加分隔符。
实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# 弹出式菜单案例 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() |
实例扩展:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
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弹出式菜单的使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/jishu/jichu/34269.html