Tkinter ポップアップメニューを作ってみる。

  • ウィンドウフォーム上で右クリックすると popup メニューが現れる。











# -*- coding: utf-8 -*-

#Popup メニューを作ってみる。
#右クリックするとポップアップメニューが現れる。

from Tkinter import *

#コールバック関数を定義しておく。
def callback():
    print 'called'

#root ウィンドウを作る。
root = Tk()
frame = Frame(root,width=300,height=200)
frame.pack()


menu_top = Menu(root,tearoff=False)
menu_2nd = Menu(menu_top,tearoff=0)
menu_3rd = Menu(menu_top,tearoff=0)

menu_top.add_cascade (label='FILE(F)',menu=menu_2nd,under=5)
menu_top.add_separator()
menu_top.add_command(label='EDIT(E)',underline=5,command=callback)

menu_2nd.add_command(label='New Window(W)',under=4)
menu_2nd.add_cascade(label='Open(O)',under=5,menu=menu_3rd)

menu_3rd.add_command(label='Local File(L)',under=11)
menu_3rd.add_command(label='Network(N)',under=8)

def showPopup(event):
    menu_top.post(event.x_root,event.y_root)

#frame上で右クリックをしたら...
frame.bind('<Button-3>',showPopup)

root.mainloop()