Tkinter GUI中缺少菜单

时间:2018-12-20 19:13:42

标签: python-3.x user-interface tkinter

我已经开发了用于图像分析的脚本,并希望将其与GUI打包在一起。我决定使用tkinter。我创建了一个类,当我尝试初始化时,它缺少我编写的菜单。我对为什么我的脚本不起作用感到有些困惑,我对tkinter以及类都是陌生的,这增加了混乱:)关于我的脚本不起作用的任何帮助将不胜感激,谢谢! >

import tkinter as tk

#from tkinter import filedialog

class Window(Frame):

 def __init__(self, master=None):
    Frame.__init__(self, master)               
    self.master = master
    self.init_window()
 def init_window(self):
    self.master.title("Lifespan Data Analyser")
    self.pack(fill=BOTH, expand=1)


    menu = Menu(self.master)
    self.master.config(menu=menu)        
    file = Menu(menu)
    file.add_command(label='Exit', command = self.frame.quit)        
    menu.add_cascade(label ='File', menu=file)

    browse = Menu(menu)
    browse.add_command(label='Browse', command=self.browse_button)
    menu.add_cascade(label='Start',menu=browse)


 def browse_button(self):
    global file_path
    # Allow user to select a directory and store it in global var
    file_path = filedialog.askdirectory()
    file_path=str(file_path)

    print(file_path)


root = Tk()
root.geometry("400x300")
app = Window(root) 
root.mainloop()

1 个答案:

答案 0 :(得分:1)

当我尝试将“退出”项添加到“文件”菜单时,出现错误消息:

AttributeError: 'Window' object has no attribute 'frame'

这很有意义,因为没有属性“ frame”。我认为这可能会更好:

file.add_command(label='Exit', command=self.master.destroy)