讓我先說我想出瞭如何解決這個問題,但我不確定潛在的原因。如果沒有使用getter,返回數字值的元組
我寫了一個簡單的GPS Tagger,它使用tkinter接受各種輸入,可以通過pynmea2獲得GPS座標,然後將每個填充字段輸出到CSV文件。然後用戶可以清除輸入字段以移至下一個點。
我昨天在使用它的時候意識到,一個特定的字段經常遞增1,所以對我來說包含一個讓它自動遞增的選項是有意義的。我用tk.Checkbutton來做到這一點。
在內部和在CSV文件中使用的字段名稱作爲元組存儲,例如,
fields = 'gs_rated_input_voltage', ... 'gs_equipment_location'
當被命令保存當前輸入時,for循環遍歷所有填充文本框,並將它們從該函數中返回。這些條目作爲列表存儲在函數中,並且由於返回類型沒有聲明爲任何不同,我假設元組內容正在存儲在列表中。
當命令來清除輸入,如果特定字段被填充的複選框選中,值存儲和切片:
text = entry[1].get()
mod_text = str(text)
last_int = int(mod_text[-1:])
mod_text = mod_text[:-1] + str(last_int + 1)
entry[1].delete(0, tk.END)
entry[1].insert(0, mod_text)
的條目包含數字,字母和連字符,但最後一個字符是可靠的一個數字 - 這是有效的,但作爲一個旁人,如果有人有更好的方式我全部耳朵。
所有這一切說,我發現如果我沒有在第一行包括.get(),每次都將文本設置爲.58366352.58366416,無論輸入什麼 - 數字,字母,a混合等
有人可以解釋我在這裏失蹤?
不知道爲什麼我最初沒有看到;由於條目[0]是標籤,因此我在條目[1]中包含了該部件中包含的文本。 –