You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySide6中QTimer定时器无法循环触发 绑定的槽函数仅执行一次

问题原因

核心错误出在信号绑定逻辑:self.timer.timeout.connect(self.pp())

  • Qt信号的connect方法要求传入可调用对象作为触发信号时的执行回调。你在self.pp后加了括号,会在执行到这行代码时直接调用pp函数,把函数的返回值(你的pp方法无显式返回,默认返回None)传递给connect,相当于没有给timeout信号绑定任何有效回调。
  • 你观察到的唯一一次LOL输出,是__init__初始化阶段直接调用pp产生的,和定时器触发无关。控制台输出True说明定时器本身正常运行,但触发timeout信号时无回调可执行,因此没有后续输出。

修复方案

去掉connect参数里pp后的括号,直接传入函数对象本身即可:

# 原错误代码
self.timer.timeout.connect(self.pp())
# 修改后正确代码
self.timer.timeout.connect(self.pp)

修改后重新运行,即可实现每隔1秒触发一次pp函数的预期效果。

内容的提问来源于stack exchange,提问作者Hosam Hashem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:24:04