pyqt 一种延时方法
方法一
# 声明timer
timer = QtCore.QTimer()
timer.setSingleShot(True)
# 在需要的地方设置定时
timer.start(600)
# 到之间后
timer.timeout.connect(self.funcA)
但是实际测试发现个问题,在多次触发这个延时之后,funcA 会多执行一次。还不知道为什么。
-- trigger -- // 第一次触发
funcA
-- trigger -- // 第二次触发
funcA
funcA
-- trigger -- // 第三次触发,每触发一次 funcA 就多执行一次。
funcA
funcA
funcA
-- trigger --
funcA
funcA
funcA
funcA
方法二
QtCore.QTimer.singleShot(600, self.funcA)
这样得到的结果是符合预期的
-- trigger --
funcA
-- trigger --
funcA
-- trigger --
funcA
-- trigger --
funcA