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()