[英]Entry().get() doesn't work in Python 3.4
盡管進行了所有嘗試,但似乎無法讓Entry()。get()在Entry窗口中分配字符串。 這是一個代碼片段:
Itx_bcn_ent = Entry(win).grid(row=1,column=1)
我定義一個按鈕來調用一個函數:
btn = Button(win,text="Run",command=getnums).grid(row=5,column=3,padx=100)
這是函數:def getnums():Itx_bcn = Itx_bcn_ent.get()
運行腳本時,出現以下錯誤:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1482, in __call__
return self.func(*args)
File "C:\Python34\voltage_substate_GUI.py", line 7, in getnums
Itx_bcn = Itx_bcn_ent.get()
AttributeError: 'NoneType' object has no attribute 'get'
我已經看到了使用ClassStringVar()和帶有Entry()對象的選項“ textvariable =”的構造,但是這樣做似乎過於復雜,因為它只是在Entry窗口和我試圖分配的變量。
有什么想法嗎?
Entry.grid()
返回None
,所以當您執行something = Entry(root).grid()
,您將得到的內容something=None
。
除非您嘗試使用該東西,否則這不是問題! 這就是為什么要獲取'NoneType' object has no attribute 'get'
錯誤的原因。
Itx_bcn_ent = Entry(win)
Itx_bcn_ent.grid(row=1,column=1)
現在您的按鈕可以工作了:),盡管您的btn =
行也有同樣的問題。 我還不必重用該分配,所以也許就刪除它?
Button(win,text="Run",command=getnums).grid(row=5,column=3,padx=100)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.