擅长:python、mysql、java
<p>您的代码有多处错误。首先,您编写了<code>self.inicio - 1</code>而不是<code>-= 1</code>,而且您从未实际使用您创建的<code>Qtimer</code>。但是忽略了这一点,你的程序结构是不正确的:目前你调用<code>updateTimerDisplay</code>当用户点击你的<code>iniciar</code>按钮时,你会在那里循环,直到你的倒计时为零。您要做的是在用户单击按钮时启动计时器,并将计时器(实际上是它的<code>timeout</code>信号)连接到一个只倒数一秒并更新显示的方法:</p>
<pre><code>def startTimerDisplay(self):
""" set the countdown value and start the timer """
self.inicio = 180
self.timer.start(1000)
def updateTimerDisplay(self):
""" count down one second, set the text, and check if the timer should stop """
self.inicio -= 1
text = "%d:%02d" % (self.inicio/60,self.inicio % 60)
self.ui.QLCDNumber.display(text)
if self.inicio == 0:
self.timer.stop()
</code></pre>
<p>更改您的<code>__init__</code>方法,如下所示连接这些函数:</p>
^{pr2}$