Строки меню Python Tkinter не отображаются

Я пытаюсь создать графический интерфейс с использованием Tkinter и пришел к реализации панели меню. Я посмотрел несколько уроков и написал для них код, но строка меню, кажется, никогда не появляется - просто пустая рамка с белым фоном. Это происходит не только для моего кода; при копировании и вставке кода одного из вышеупомянутых учебных пособий в новый скрипт демонстрируется то же поведение.

Я был бы признателен, если бы кто-нибудь смог пролить свет на то, что вызвало это. Моя система - OS X 10.5, Python 2.7, Tk 8.4. Вот код из учебника, который не работает:

#!/usr/local/bin/python2.7

from Tkinter import *
from ttk import *

class App(Frame):
    def __init__(self):
            Frame.__init__(self)

            self.master.geometry('400x300')
            self.master.title(__file__)

            self.pack()

            self.menu = Menu(tearoff=False)
            self.master.config(menu = self.menu)

            fm = self.file_menu = None
            fm = Menu(self.menu, tearoff=False)
            self.menu.add_cascade(label='File', menu = fm)

            fm.add_command(label='Say Hello', command = self.say_hello)
            fm.add_separator()
            fm.add_command(label='Quit', command = self.quit)

            self.mainloop()

    def say_hello(self, *e):
            self.label = Label(self.master, text='Hello there!')
            self.label.pack(anchor=CENTER, fill=NONE, expand=YES, side=LEFT)

if __name__ == '__main__':
    App()

и мой код здесь:

from Tkinter import *

class App(Frame):

    def __init__(self, parent):
        Frame.__init__(self, parent)

        parent.title("Cluedo Solver 1.0")

        menubar = Menu(root)
        menubar.add_command(label="File")
        menubar.add_command(label="Quit", command=root.quit())

        root.config(menu=menubar)

root=Tk()
root.geometry("300x250+300+300")
app=App(root)
root.mainloop()

Ответы на вопрос(4)

Ваш ответ на вопрос