2014-10-24 4 views
-1

tkinter 라이브러리의 텍스트 상자 객체를 인수로 사용하는 함수를 작성하고 있습니다. 나는 텍스트 상자에 입력하고 버튼을 누르 때, 나는 텍스트 상자 객체가 함수로() 얻을 수있는 사실 내가 아는AttributeError : 'NoneType'객체에 'get'속성이 없습니다.

"AttributeError: 'NoneType' object has no attribute 'get'." 

를 얻을. 필자는 tkinter 라이브러리를 내 기능을 가진 파일로 가져 오기까지했습니다.

주 : 여기에 내가 두 개의 파일에서 할 노력하고 무엇의 단순화 된 버전입니다

import tkinter 
import save_file 
app = tkinter.Tk() 
textbox = tkinter.Text(app).pack() 
button = tkinter.Button(app, command=lambda: save_file.save_file(textbox)) 

SAVE_FILE :

import tkinter 
def save_file(textbox): 
    text = textbox.get() 

사람이 내가 잘못 뭐하는 거지 말씀해 주시겠습니까?

+0

는 나는이 질문에 대한 가장 가까운 DUP 확실하지 않다,하지만 당신은 거기에서 링크 및 관련 목록에있는 다른 사람을 많이 찾을 수 있습니다. – abarnert

답변

3

pack()None을 반환합니다. 당신은 단지Text() 개체, 다음 별도로에서 pack() 전화 을 저장할 :

textbox = texinter.Text(app) 
textbox.pack() 
+0

네, 그게 전부입니다. 굉장해! 감사! 그러나 명확히하기 위해, 문법의 선택은 실제로 pack()에 의해 반환 된 값을 내 변수에 할당하는 것이 었습니다. – user3291465

+0

정확히; 당신은 호출을 묶었고'texinter.Text()'의 반환 값은'pack' 메소드를 찾기 위해 사용되었고, 표현식은 중간 결과가 아닌 마지막 메소드 호출이 생성하는 것을 끝냅니다. –

0

tkinter.Text(app).pack() 반환 없음 당신은 없음 동일 textbox

변경에 설정할 수 있도록 :

textbox = tkinter.Text(app) 
textbox.pack() 
0

귀하 문제는 tkinter Text 객체의 .pack() 메서드가 None을 반환한다는 것입니다.

수정 :

import tkinter 
import save_file 
app = tkinter.Tk() 
textbox = tkinter.Text(app) 
textbox.pack() 
button = tkinter.Button(app, command=lambda: save_file.save_file(textbox)) 
관련 문제