Я следую инструкциям, которые можно найти здесь на страницах 31 и 32 http://www.ittc.ku.edu/~niehaus/classes/448-s04/448-standard/tkinter-intro.pdf .
Я получаю два окна, одно с кнопками «ОК» и «Отмена» и двумя полями ввода, а другое пустое. Когда я нажимаю «ОК» или «Отмена», это окно исчезает, но другое пустое окно зависает, и я даже не могу его закрыть. Единственный способ закрыть его — закрыть командную строку.
Я получаю следующую ошибку при запуске.
first = string.atoi(self.e1.get())
NameError: global name 'string' is not defined
Я настроил dialog2.py, как показано в моих комментариях. tkSimpleDialog.py вообще не меняется (стр. 31 ссылки выше)
# 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