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

点击按钮修改标签后3秒清空,用time.sleep致程序无响应求助

解决UI延时更新时的线程阻塞问题
  • 别用time.sleep(3),这会卡死UI主线程,导致界面无响应、按钮一直处于按下状态,完全不可取。
  • 用UI框架自带的异步延时工具,以你用的Qt框架为例,用QTimer.singleShot实现非阻塞的延时操作:
# 先导入QTimer,根据你用的PyQt/PySide版本调整导入路径
from PyQt5.QtCore import QTimer

def apply_click(self):
    ui.label_ischanged.setText("Applied!")
    # 3000毫秒(3秒)后自动调用clear_label函数
    QTimer.singleShot(3000, self.clear_label)

def clear_label(self):
    ui.label_ischanged.setText("")
  • 原理:QTimer.singleShot不会阻塞当前线程,它会在后台计时,时间到了再回到UI线程执行清空标签的操作,这样界面全程都能正常响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:24:56