【发布时间】:2014-06-20 21:19:30
【问题描述】:
我正在为 xbmc 媒体应用程序编写我的 python 脚本,因此我可以使用百分比字符串更新文本标签。我已经将标签文本设置为“0%”作为开始,但我不知道如何用“1%”、“10%”、“20%”等更新标签文本。
当我尝试这个时:
progressStartTime = datetime.datetime.now()
delta = datetime.datetime.now() - progressStartTime
secondsLeft = int(delta.seconds) / float(percentageComplete) * (100.0 -
percentageComplete)
if secondsLeft > 30:
secondsLeft -= secondsLeft % 10
self.setControlLabel(self.main_loading_time_left, "" % secondsLeft)
我在更新标签中的文本时遇到问题 错误。我得到的错误是: ZeroDivisionError: float division
错误在这一行跳转:
secondsLeft = int(delta.seconds) / float(percentageComplete) * (100.0
- percentageComplete)
你能帮我如何用百分比字符串更新标签中的文本吗?
编辑:这是更新代码:
percentageComplete = 0
if percentageComplete < 1:
self.getControl(4202).setLabel("1%")
progressStartTime = datetime.datetime.now()
delta = datetime.datetime.now() - progressStartTime
secondsLeft = int(delta.seconds) * (100.0 - percentageComplete)
if percentageComplete > 1:
secondsLeft -= secondsLeft % 10
self.getControl(4202).setLabel(secondsLeft + "%")
#self.setControlLabel(self.main_loading_time_left, "%" % secondsLeft)
【问题讨论】:
-
我假设 percentComplete 从 0 开始。
-
当我使用
percentageComplete = 0时它已经设置为0。有什么想法吗? -
你除以 0 因为 percentComplete 是 0...
-
哦,我明白了,你能告诉我即使我不需要除法,我还需要做出什么改变吗?
标签: python python-2.7 xbmc