から継承するカスタムメニュークラスがありますTkinter.Menu
。ルートウィンドウで次のように使用します
。
root = Tk()
menu = customMenu(root)
root.config(menu = menu)
mainloop()
誰かが私に何が悪いのか教えてもらえますか?
から継承するカスタムメニュークラスがありますTkinter.Menu
。ルートウィンドウで次のように使用します
。
root = Tk()
menu = customMenu(root)
root.config(menu = menu)
mainloop()
誰かが私に何が悪いのか教えてもらえますか?
あなたのcustomMenu
クラスがTkinterMenu
クラスから適切に継承していると仮定すると、あなたが私たちに示したことは完全に問題ありません。完全に機能する例を次に示します。
import Tkinter as tk
class CustomMenu(tk.Menu):
def __init__(self, root, *args, **kwargs):
tk.Menu.__init__(self, root, *args, **kwargs)
self.root = root
self.file_menu = tk.Menu(self, tearoff=False)
self.file_menu.add_command(label="Exit", command=root.on_exit)
self.add_cascade(label="File", underline=0, menu=self.file_menu)
class ExampleView(tk.Frame):
def __init__(self, root):
tk.Frame.__init__(self, root)
root.configure(menu=CustomMenu(root))
l = tk.Label(self, text="your widgets go here...", anchor="c")
l.pack(side="top", fill="both", expand=True)
class Controller(tk.Tk):
def on_exit(self):
self.destroy()
if __name__=='__main__':
root = Controller()
view = ExampleView(root)
view.pack(side="top", fill="both", expand=True)
root.mainloop()