1
我正在按照第31和32頁上的教程http://www.ittc.ku.edu/~niehaus/classes/448-s04/448-standard/tkinter-intro.pdf。Tkinter名稱錯誤:窗口凍結
我得到兩個窗口,一個帶有OK和Cancel按鈕和兩個輸入框,另一個是空白的。當我點擊確定或取消時,該窗口消失,但另一個空白窗口凍結,我甚至無法關閉。關閉它的唯一方法是關閉命令提示符。
我在運行時出現以下錯誤。
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
我改變了它爲int如所示,但現在我得到以下錯誤:「適用於第23行,ValueError:int()與基本10:''」的無效文字。在回溯中,我得到了「File C:\ ... \ tkSimpleDialog.py」,第71行,在ok self.apply()中。另外,空白窗口仍然掛起,唯一的方法是關閉它關閉命令提示符 – user1104854
@ user1104854 - 在轉換爲int之前是否嘗試過打印'self.e1.get()'?值是什麼? – mgilson
它的工作原理!謝謝,我認爲你是對的,我應該嘗試找到一個更新的指南。 – user1104854