Tkinter 未知选项 -menu [英] Tkinter Unknown Option -menu

查看:34
本文介绍了Tkinter 未知选项 -menu的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不断收到错误:

_tkinter.TclError: 未知选项-menu"

_tkinter.TclError: unknown option "-menu"

我的 MWE 看起来像:

My MWE looks like:

from tkinter import *

 def hello():
    print("hello!")

 class Application(Frame):
    def createWidgets(self):       
       self.menuBar = Menu(master=self)
       self.filemenu = Menu(self.menuBar, tearoff=0)
       self.filemenu.add_command(label="Hello!", command=hello)
       self.filemenu.add_command(label="Quit!", command=self.quit)

    def __init__(self, master):
       Frame.__init__(self, master)
       self.pack()
       self.createWidgets()
       self.config(menu=self.menuBar)

 if __name__ == "__main__":
    root = Tk()
    ui = Application(root)
    ui.mainloop()

我在 OS X 10.8 上使用 python 3.为什么我收到未知选项错误?

I'm on OS X 10.8 using python 3. Why am I getting the unknown option error?

推荐答案

self.config(menu=self.menuBar)

menu 不是 Frame 的有效配置选项.

menu is not a valid configuration option for Frame.

也许你打算从 Tk 继承?

Perhaps you meant to inherit from Tk instead?

from tkinter import *

def hello():
    print("hello!")

class Application(Tk):
    def createWidgets(self):       
       self.menuBar = Menu(master=self)
       self.filemenu = Menu(self.menuBar, tearoff=0)
       self.filemenu.add_command(label="Hello!", command=hello)
       self.filemenu.add_command(label="Quit!", command=self.quit)
       self.menuBar.add_cascade(label="File", menu=self.filemenu)

    def __init__(self):
       Tk.__init__(self)
       self.createWidgets()
       self.config(menu=self.menuBar)

if __name__ == "__main__":
    ui = Application()
    ui.mainloop()

这篇关于Tkinter 未知选项 -menu的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆