簡體   English   中英

Entry()。get()在Python 3.4中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM