[英]Global name 'root not defined', tkinter, python
python非常陌生,想創建一個GUI窗口,我打算以后將其用於查詢工具。 我一直在獲取全局名稱root未定義錯誤。 我正在嘗試創建一個具有窗口的用戶界面。 我可能缺少對象概念。 需要一些幫助。 謝謝。 這是我的代碼:
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()
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)
root
在這里不存在。 您需要使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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.