We're back after a server migration that caused effbot.org to fall over a bit harder than expected. Expect some glitches.

Creating Tkinter Menubars

April 15, 1998 | Fredrik Lundh

Creating a menu bar (for Python 1.4 and later)
from Tkinter import *

class AppUI(Frame):

    def __init__(self, master=None):
	Frame.__init__(self, master, relief=SUNKEN, bd=2)

	self.menubar = Menu(self)

	menu = Menu(self.menubar, tearoff=0)
	self.menubar.add_cascade(label="File", menu=menu)
	menu.add_command(label="New")

	menu = Menu(self.menubar, tearoff=0)
	self.menubar.add_cascade(label="Edit", menu=menu)
	menu.add_command(label="Cut")
	menu.add_command(label="Copy")
	menu.add_command(label="Paste")

	try:
	    self.master.config(menu=self.menubar)
	except AttributeError:
	    # master is a toplevel window (Python 1.4/Tkinter 1.63)
	    self.master.tk.call(master, "config", "-menu", self.menubar)

	self.canvas = Canvas(self, bg="white", width=400, height=400,
			     bd=0, highlightthickness=0)
	self.canvas.pack()


root = Tk()

app = AppUI(root)
app.pack()

root.mainloop()