gpt4 book ai didi

python - 在 PySide 中强制 QTimer() 超时

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:22 27 4
gpt4 key购买 nike

我有一个 pySide 应用程序,它使用 QTimer 每分钟刷新一次其状态。在某些情况下,我需要强制立即更新,然后重新启动计时器

self.timer = QTimer()
self.timer.timeout.connect(self._update_status)
self.timer.start(60 * 1000)

有没有办法强制定时器到期并发出超时信号?

最佳答案

最干净的解决方案似乎就是这样:

        self.timer.start() # restart the timer
self.timer.timeout.emit() # force an immediate update

也可以通过调用 setInterval(1) 强制立即更新,但这有一个缺点,您需要在连接到信号的插槽中再次重置计时器间隔:

        self.timer.setInterval(1) # force an immediate update

def _update_status(self):
...
if self.timer.interval() == 1:
self.timer.setInterval(60 * 1000) # reset the interval

(请注意,如果使用间隔,Qt只会在事件队列被清除后发出超时信号。因此,严格来说,setInterval(0)不一定会强制执行立即更新)。

关于python - 在 PySide 中强制 QTimer() 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38216182/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com