313 및 32 페이지의 자습서를 따르고 있습니다. http://www.ittc.ku.edu/~niehaus/classes/448-s04/448-standard/tkinter-intro.pdf.Tkinter 이름 오류 : 창이 동결 됨
나는 두 개의 창을 보았습니다. 하나는 확인 및 취소 버튼과 두 개의 입력 상자가 있고 다른 하나는 비어 있습니다. 확인 또는 취소를 클릭하면 해당 창이 사라지지만 다른 빈 창이 멈추고 닫을 수 없습니다. 이를 닫기위한 유일한 방법은 명령 프롬프트를 닫는 것입니다.
실행할 때 다음 오류가 발생합니다.
first = string.atoi(self.e1.get())
NameError: global name 'string' is not defined
내 의견에 표시된대로 dialog2.py를 조정했습니다. tkSimpleDialog.py 모든 (페이지 위의 링크의 31) 당신은 string
모듈을 가져올 필요
# File: dialog2.py
import tkSimpleDialog #added this
import os #added this
from Tkinter import * #added this
class MyDialog(tkSimpleDialog.Dialog):
def body(self, master):
Label(master, text="First:").grid(row=0)
Label(master, text="Second:").grid(row=1)
self.e1 = Entry(master)
self.e2 = Entry(master)
self.e1.grid(row=0, column=1)
self.e2.grid(row=1, column=1)
return self.e1 # initial focus
def apply(self):
first = string.atoi(self.e1.get())
second = string.atoi(self.e2.get())
print first, second # or something
root = Tk() #added this
d = MyDialog(root) #added this
변경 등 : 즉로 변경 제안,하지만 지금은 다음과 같은 오류가 발생했습니다 "라인 23, 적용, ValueError : int 10 진법에 대한 리터럴이 잘못되었습니다 : ''". traceback에서 "file C : \ ... \ tkSimpleDialog.py", 줄 71, ok self.apply() "가 표시됩니다. 또한 빈 창이 여전히 끊어지고 닫을 수있는 유일한 방법은 다음과 같습니다. close 명령 프롬프트 – user1104854
@ user1104854 -'int'로 변환하기 전에'self.e1.get()'을 인쇄 해 보셨습니까? 값은 무엇입니까? – mgilson
작동합니다! 고맙습니다. 새로운 가이드를 찾으십시오. – user1104854