Tkinterを使用してGUIを作成しようとしていますが、メニューバーを実装するようになりました。いくつかのチュートリアルを見て、そのためのコードをいくつか作成しましたが、メニューバーが表示されないようです。背景が白の空白のフレームだけです。しかし、これは私のコードだけでは起こりません。前述のチュートリアルの1つのコードをコピーして新しいスクリプトに貼り付けると、同じ動作が示されます。
誰かがこれを引き起こしているものに光を当てることができれば幸いです。私のシステムはOSX10.5、Python 2.7、Tk8.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()