2013-10-25 3 views
0

그래픽 사용자 인터페이스 (GUI)를 작성하는 방법에 대한 자습서를 계속 읽었으므로 나중에 익숙해지기 때문에 익숙해졌습니다. 튜토리얼의 대부분은 첫 번째 줄에서 다음 명령을 사용 : 나는 다음과 같은 오류 얻을이 간단한 코드를 실행하면Tkinter : NameError : name 'tk'가 정의되지 않았습니다.

from tkinter import * 

root = tk() 
root.title("Simple GUI") 
root.geometry("200x100") 
root.mainloop() 

: 그 후

파일

"C:/Users/Gerard/Dropbox/Master_Thesis_Gerard_Pujol/Python_Tryouts/creting_simpleGUI.py", line 11, in root=tk()

NameError: name 'tk' is not defined

을 내 코드를 변경, 그래서 저는 다음과 같이 사용했습니다 :

import tkinter as tk 

root = tk() 
root.title("Simple GUI") 
root.geometry("200x100") 
root.mainloop() 

이제 오류는 다음과 같습니다.

"C:/Users/Gerard/Dropbox/Master_Thesis_Gerard_Pujol/Python_Tryouts/creting_simpleGUI.py", line 11, in root=tk()

TypeError: 'module' object is not callable

무엇이 잘못 됐는지 알고 있니? 제발 도와 주실 수 있나요?

나는 Spyder for Python 3.3을 사용하고 있지만, 문제가되지 않는다고 생각합니다.

답변

0

자습서는 아마도 Python 2 용입니다. Python 3에서는 이름 지정 규칙이 변경되었습니다. 따라서 P2에 root = tk() 대신에, 이 P3입니다 (Tk()는 클래스이므로 대문자 T 임). 두 번째 예에서

당신은

+0

실행 중! Olav, 정말 고마워, 미쳤어! – gpujol

+1

파이썬 2에서도'Tk'입니다. –

0

난 그냥 내가 스파이더 내 파이썬 콘솔 창을 다른 평 파일에 연결 되었기 때문이었다 발견 비슷한 문제를 했어 가져 오기 문 다음에 root = tk.Tk()를 작성해야하는 I 이전에 작업 중이었기 때문에 Spyder에 새로운 파이썬 콘솔을 열었고 문제가 사라졌습니다.

관련 문제