[PYTHON] Tkinter 위젯이 None으로 저장된 이유는 무엇입니까? (AttributeError : 'NoneType'객체 ...) (TypeError : 'NoneType'객체 ...) [duplicate]
PYTHONTkinter 위젯이 None으로 저장된 이유는 무엇입니까? (AttributeError : 'NoneType'객체 ...) (TypeError : 'NoneType'객체 ...) [duplicate]
#AttributeError: 'NoneType' object has no attribute ... Example
try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
root = tk.Tk()
widget = tk.Label(root, text="Label 1").grid()
widget.config(text="Label A")
root.mainloop()
위의 코드는 오류를 생성합니다.
마찬가지로 코드 조각 :
#TypeError: 'NoneType' object does not support item assignment Example
try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
root = tk.Tk()
widget = tk.Button(root, text="Quit").pack()
widget['command'] = root.destroy
root.mainloop()
오류가 발생합니다.
그리고 두 경우 모두 :
>>>print(widget)
None
그 이유는 위젯이 None으로 저장된 이유는 무엇입니까? 아니면 위젯 구성시 위의 오류가 발생하는 이유는 무엇입니까?
이 질문은 이에 근거하여 주제에 대한 많은 관련적이고 반복적 인 질문에 대한 일반 대답을 요청합니다. 수정 거부에 대해서는이 부분을 참조하십시오.
해결법
-
==============================
1.geometry manager는 grid, pack, place를 리턴하므로 None으로 저장되므로 widget은 위젯 인스턴스를 생성하는 라인과는 별도의 라인에서 호출되어야합니다 :
geometry manager는 grid, pack, place를 리턴하므로 None으로 저장되므로 widget은 위젯 인스턴스를 생성하는 라인과는 별도의 라인에서 호출되어야합니다 :
widget = ... widget.grid(..)
또는:
widget = ... widget.pack(..)
또는:
widget = ... widget.place(..)
특히 두 번째 코드 스 니펫의 경우 다음과 같습니다.
widget = tkinter.Button(...).pack(...)
다음과 같이 두 줄로 구분해야합니다.
widget = tkinter.Button(...) widget.pack(...)
정보 :이 답변은 복사 한 대부분의 부분이 아니라면이 답변을 기반으로합니다.
from https://stackoverflow.com/questions/47619074/why-is-tkinter-widget-stored-as-none-attributeerror-nonetype-object-ty by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 문자열에서 공백을 제거하려면 어떻게해야합니까? (0) | 2018.10.05 |
---|---|
[PYTHON] pandas DataFrame 열 헤더에서 목록 가져 오기 (0) | 2018.10.05 |
[PYTHON] Jinja로 JS로 렌더링하면 문자열이 아닌 숫자가 잘못 생성됩니다. (0) | 2018.10.05 |
[PYTHON] 하위 프로세스 readline이 EOF를 기다리는 동안 중단됩니다. (0) | 2018.10.05 |
[PYTHON] 32 비트 Windows 7 머신에서 Python 3.5에 scipy 설치 (0) | 2018.10.05 |