赞
踩
timer = QtCore.QTimer()
s = 0
def timer_start():
timer.timeout.connect(get_zl) # 计时器链接方法
timer.start(1000) # 计时间隔为1000ms
def timer_end():
timer.stop()
s = 0
def get_zl():
s = s + 1
print(s)
``
我想通过一个按钮控制这个计时器,点击一下即为开始,再点击一下,即为停止,且将变量s清零。现在遇到了一个问题:
我首次点击开始,无问题
点击停止后再次点击开始,他的计时会多一个
再次点击停止,第3次点击开始时,计时又会多一个****
例如我定义了一个变量s,利用计时器一秒打一个点,打印出来就是一秒加一。应为一次打印一个数字:
0,(间隔1 S)
1,(间隔1 S)
2,(间隔1 S)
。
。
可是在第二次点击开始计时后,会出现,一秒钟打印两次的情况:
0,
1,(间隔1 S)
2,
3,(间隔1 S)
4,
5,(间隔1 S)
。
。
停止后第三次去点击开始计时,会一秒钟打印三次:
0,
1,
2,
3,(间隔1 S)
4,
5,
6,(间隔1 S)
7,
8,
9,(间隔1 S)
。
。
不清楚是什么问题所导致的,有没有大佬康康
已解决
def timer_start():
**timer.timeout.connect(get_zl) # 计时器链接方法**
timer.start(1000) # 计时间隔为1000ms
加黑这一行被重复调用所以出现这种问题
应放到外面去,每次只调用start
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。