python TKinter彈出式菜單的實例方法

1、彈出菜單也叫上下文菜單,建立菜單並向菜單添加各種功能。

2、右鍵監聽鼠標。如右鍵點擊,則根據位置判斷彈出。

3、調用Menupop方法。

4、add_separator添加分隔符。

實例

# 彈出式菜單案例
 
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()

實例擴展:

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彈出式菜單的使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: