faqts : Computers : Programming : Languages : Python : Snippets : Tkinter

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

11 of 15 people (73%) answered Yes
Recently 7 of 10 people (70%) answered Yes

Entry

Pop up menu

Jul 5th, 2000 10:02
Nathan Wallace, unknown unknown, Hans Nowak, Snippet 272, Python Snippet Support Team


"""
Packages: gui.tkinter
"""

# menutest.py
# Makes a window pop up by rightclicking the canvas.

from Tkinter import *
import regsub

def getgeometry(something):
    s = something.geometry()
    return map(int, regsub.split(s, "[x+]"))

root = Tk()

root.canvas = Canvas(root, height=100, width=100, background='#674689')
root.canvas.pack()

def new_file(event=None):
    print "Opening new file"

menu = Menu(root)
menu.add_command(label="New...", underline=0, command=new_file)
menu.add_command(label="Open...", underline=0, command=new_file)
menu['tearoff'] = 0

def activate_menu(event=None):
    # event.x, event.y is the relative mouse position
    sizex, sizey, x, y = getgeometry(root)    
    menu.tk_popup(x+event.x, y+event.y)
    #menu.tk_popup(x,y)

root.canvas.bind("<Button-3>", activate_menu)

root.mainloop()