2011-06-12 83 views
2
from tkinter import * 

app=Tk() 

app.title(" BRAIN SYNCRONIZATION SOFTWARE ") 

e1=Entry(app).pack() 
t1=Text(app).pack() 

def InputFun(): 
     file=open("acad.txt","a") 
     file.write("%s;%s"%(t1.get("0.1",END),e1.get())) 
     file.close() 
b1=Button(app,text="INPUT",command=InputFun,height=3,width=4).pack(side=LEFT,padx=30,pady=30) 

這是我寫的代碼,但我反覆得到以下錯誤,當我按下輸入按鈕:爲什麼我得到AttributeError:''NoneType'對象沒有Python和Tkinkter的'get''屬性?

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "C:\Python31\lib\tkinter\__init__.py", line 1399, in __call__ 
    return self.func(*args) 
    File "C:\Users\vonn\Desktop\brain syncronization.py", line 15, in InputFun 
    file.write("%s"%t1.get("0.1",END)) 
AttributeError: 'NoneType' object has no attribute 'get' 

爲什麼不寫文件?

+1

Python位?哎喲! – alex 2011-06-12 03:29:53

+0

@alex :)很好......這就是爲什麼我在這裏! – Vonn 2011-06-12 03:31:41

回答

9
t1=Text(app).pack() 

應該

t1=Text(app) 
t1.pack() 

的Tkinkter pack()方法返回None,你不能在它上面運行.get(),但需要保持t1指文本對象本身。

+0

它工作了!!!!! – Vonn 2011-06-12 03:49:23

+0

它工作!太感謝了!!! :) – Vonn 2011-06-12 03:50:32

+3

@Vonn:歡迎來到StackOverflow! 「它的工作!!!感謝百萬!!! :)」是最好的表達「[通過點擊答案左邊的複選框大綱](http://stackoverflow.com/faq#howtoask)」 – Johnsyweb 2011-06-12 05:39:22

0

我不認爲Entry(app).pack()會返回任何東西。你的意思是e1=Entry(app); e1.pack()

相關問題