2013-06-29 2 views
0

여기 내 코드가 오류 메시지와 함께 있습니다.Python의 속성 오류 받기

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, 초기화 self.reveal에서() 파일 "C : PyDev의 \ Py_Widgets101 \ SRC \ Py_Widget03을 \. PY ", 라인 (30)에서 = self.entbx.get 내용을 공개() AttributeError : Window01 인스턴스 create_widget() 의해 만들어진 어떠한 속성 'entbx'

+0

질문에 들여 쓰기를 수정합니다. –

답변

1

self.entbx 없다. 당신은 reveal()를 호출 - self.entbx을 필요로하는 - 당신이 create_widget()를 호출하기 전에 :

self.reveal() 
self.create_widget()