菜单栏未显示在我的GUI窗口中

时间:2019-07-16 20:10:13

标签: python tkinter

我正在使用tkinter用Python编写GUI程序。我的代码运行无错误,但未显示我包含的菜单小部件。我不明白我要去哪里错了!

from tkinter import Tk, Label, Button, Menu, Canvas, Toplevel
class app:
    def __init__(self, master):
        self.master = master
        master.title("app")

        menubar = Menu(master)
        file = Menu(menubar, tearoff=0) 
        file.add_command(label="Open")
        file.add_command(label="Exit", command=master.quit)
        menubar.add_cascade(label="File", menu=file)

root = Tk()
my_gui = app(root)
root.mainloop()

1 个答案:

答案 0 :(得分:2)

您遗漏了最后一位,即将root设置为使用menubar。 当然,在班级中,您应该使用master来引用root

master.config(menu=menubar)

完整代码现在显示为:

from tkinter import Tk, Label, Button, Menu, Canvas, Toplevel
class app:
    def __init__(self, master):
        self.master = master
        master.title("app")

        menubar = Menu(master)
        file = Menu(menubar, tearoff=0) 
        file.add_command(label="Open")
        file.add_command(label="Exit", command=master.quit)
        menubar.add_cascade(label="File", menu=file)
        master.config(menu=menubar)

root = Tk()
my_gui = app(root)
root.mainloop()