Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 全球名称';未定义根目录';,巨蟒_Python_User Interface_Tkinter_Global Variables - Fatal编程技术网

Python 全球名称';未定义根目录';,巨蟒

Python 全球名称';未定义根目录';,巨蟒,python,user-interface,tkinter,global-variables,Python,User Interface,Tkinter,Global Variables,非常熟悉python,希望创建一个GUI窗口,我计划稍后将其用于查询工具。我一直在获取全局名称根未定义错误。我正在尝试创建一个有窗口的用户界面。我可能缺少对象概念。我需要一些帮助。谢谢这是我的密码: from Tkinter import * class GUI(Frame): """A Graphical User Interface Class for building a GUI Frame. Attributes: master : """ def __init

非常熟悉python,希望创建一个GUI窗口,我计划稍后将其用于查询工具。我一直在获取全局名称根未定义错误。我正在尝试创建一个有窗口的用户界面。我可能缺少对象概念。我需要一些帮助。谢谢这是我的密码:

from Tkinter import *


class GUI(Frame):
"""A Graphical User Interface Class for building a GUI Frame.

Attributes:
    master : 
"""

    def __init__(self,master):
        Frame.__init__(self,master)
        self.grid()
        self.menubar()
        self.label()
        self.onExit()


    def menubar(self):
        self.menubar = Menu(root)
        self.menubar.add_command(label="File")
        self.menubar.add_command(label="Exit", command=self.onExit)
        root.config(menu=self.menubar)


    def label(self):
        L0 = Label(text="Use this tool to find the lake location.").grid(row = 0, column = 0)
        L1 = Label(text="Lake name :").grid(row = 2)
        L2 = Label(text="County name :").grid(row = 3)

        E0 = Entry().grid(row = 2, column = 2)
        E1 = Entry().grid(row = 3, column = 2)

        B0 = Button(text="Search").grid(row = 6, column = 2)

        if self.E0 and self.E1==null:
            raise RuntimeError('Entry cannot be blank.')


    def onExit(self):
        self.quit()

def main():
    root = Tk()
    root.geometry("400x200")
    root.title(" Locator (L^3)")
    app = GUI(root)
    root.mainloop()

if __name__ == '__main__':
    main()
根目录
在此不存在。您需要将
root
设置为全局变量(坏主意),或者将root传递给
GUI
类并保存对它的引用

差不多

def __init__(self, master):
    Frame.__init__(self, master)
    self.master = master
    self.grid()
    self.menubar()
    self.label()
    self.onExit()

def menubar(self):
    self.menubar = Menu(self.master)
    self.menubar.add_command(label="File")
    self.menubar.add_command(label="Exit", command=self.onExit)
    self.master.config(menu=self.menubar)

非常感谢,这就解决了!!名称
root
是函数
main
的本地名称,因此无法从其他函数中看到。您的缩进在您的问题中是混乱的——这些方法与
类GUI(框架)
def __init__(self, master):
    Frame.__init__(self, master)
    self.master = master
    self.grid()
    self.menubar()
    self.label()
    self.onExit()

def menubar(self):
    self.menubar = Menu(self.master)
    self.menubar.add_command(label="File")
    self.menubar.add_command(label="Exit", command=self.onExit)
    self.master.config(menu=self.menubar)