目標文本輸入
我想寫我可以,將有一個簡單的函數,將採取從用戶條目,然後返回它的所有其他程序中導入一個基本的文件。
代碼
對於我有以下代碼:
class takeInput(object):
def __init__(self,requestMessage,parent):
self.string = ''
self.frame = Frame(parent)
self.frame.pack()
self.acceptInput(requestMessage)
def acceptInput(self,requestMessage):
r = self.frame
k = Label(r,text=requestMessage)
k.pack(side='left')
self.e = Entry(r,text='Name')
self.e.pack(side='left')
self.e.focus_set()
b = Button(r,text='okay',command=self.gettext)
b.pack(side='right')
def gettext(self):
self.string = self.e.get()
self.frame.destroy()
print self.string
def getString(self):
return self.string
def getText(requestMessage,parent):
global a
a = takeInput(requestMessage,parent)
return a.getString()
而且我還添加了一些腳本級的代碼,以便測試:
root = Tk()
getText('enter your name',root)
var = a.getString()
print var
root.mainloop()
什麼是真是莫名其妙:
var
沒有,我進入它具有空字符串''
a.string
變了,我進入我查這起殼價值的價值。
也當我試圖指定字符串從a.getString()
在shell回到var
,然後它的工作。
note我是Tkinter編程的新手,完全不瞭解mainloop()
的工作原理。所以也許這是問題所在。但我不確定。
規格
操作系統:Linux Mint的14
Python的IDLE 2.7
請幫我出這個問題。
Mainloop只不過是一個類似'while the_main_window_exists():get_the_next_event()'的無限循環。 process_the_event()'。沒有什麼特別神祕的。 – 2013-03-20 12:28:46