我已经将我的第一个gui应用程序带到了可以开始使用它的功能点。一切正常,除了我得到回溯当我在条目中输入数据时,ValueErrors无法将字符串转换为浮点数。我也有其他错误,我不明白。任何有关如何使此应用程序错误免费的见解将不胜感激。
以下是在输入一些数字并更改组合框
后的控制台副本void printlist(ListNode*& head)
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\timewarnerIP-server\Desktop\Hillside_production_Calculator.py",
line 370, in <lambda>
self.cycletimes[num].trace('w', lambda x,y,z: proj(num))
File "C:\Users\timewarnerIP-server\Desktop\Hillside_production_Calculator.py",
line 346, in proj
case = float(self.current_case_vars[tab].get())
ValueError: could not convert string to float:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:\Users\timewarnerIP-server\Desktop\Hillside_production_Calculator.py",
line 377, in <lambda>
self.moldvars[num].trace("w", lambda x, y, z: cyclecnt(num))
File "C:\Users\timewarnerIP-server\Desktop\Hillside_production_Calculator.py",
line 301, in cyclecnt
cyclecount = int(self.cycle_count_vars[tab].get())
ValueError: invalid literal for int() with base 10: ''
答案 0 :(得分:1)
您的tracebak包含两个错误 在这种情况下
line 301, in cyclecnt
cyclecount = int(self.cycle_count_vars[tab].get())
ValueError: invalid literal for int() with base 10: ''
您尝试将空字符串转换为整数。在这种情况下,您可以使用以下方法
s = self.cycle_count_vars[tab].get()
cyclecount = int(s) if s else 0
或更一般的方法
try:
cyclecount = int(self.cycle_count_vars[tab].get())
except ValueError as e:
cyclecount = 0 # or some other default value
此错误
line 346, in proj
case = float(self.current_case_vars[tab].get())
ValueError: could not convert string to float:
表示该字符串变量self.current_case_vars[tab].get()
不包含有效的浮点数据。也可以使用try/except
块来处理这种情况。