让我先说我想出了如何解决这个问题,但我不确定潜在的原因。如果没有使用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]中包含了该部件中包含的文本。 –