在Python中获取属性错误

时间:2013-06-29 07:07:59

标签: python-2.7 attributes

这是我的代码以及错误消息。

from Tkinter import *

class Window01 (Frame):


def __init__(self, master):
Frame.__init__(self)
self.reveal()
self.create_widget()
self.grid()


def create_widget(self):

self.lbl = Label (self, text = "This is a Widget App.")
self.lbl.grid(row =1, column =0, columnspan =2, sticky = W)

self.entbx = Entry(self)
self.entbx.grid(row = 1, column = 1, sticky = W)

self.bttn = Button (self, text = "Widget Button", command = self.reveal)
self.bttn.grid(row = 2, column = 0, sticky = W)

self.txt = Text (self, width =35, height = 5, wrap = WORD)
self.txt.grid(row = 3, column = 0, columnspan =2, sticky = W)

def reveal (self):
contents = self.entbx.get()

if  contents =="magic":
message = "Access Granted"

else:
message = "Denied"
self.txt.delete(0.0, END)
elf.txt.insert(0.0, message)


root = Tk()
root.title ("Widget_Button")
root.geometry ("300x150")
app = Window01 (root)
root.mainloop()

文件“C:\ PyDev \ Py_Widgets101 \ src \ Py_Widget03.py”,第10行, init     self.reveal()   文件“C:\ PyDev \ Py_Widgets101 \ src \ Py_Widget03.py”,第30行,显示     contents = self.entbx.get() AttributeError:Window01实例没有属性'entbx'

1 个答案:

答案 0 :(得分:1)

self.entbxcreate_widget()创建。在拨打reveal()之前,您正在呼叫self.entbx - 这需要create_widget()

self.reveal()
self.create_widget()