当前位置: 首页 > news >正文

【PyQt5】实现输入延迟响应:3秒无输入后自动读取内容

思路:每次输入框内容改变,都重置 QTimer 倒计时为 3 秒;当持续 3 秒无输入后,QTimer 超时,获取当前输入框内容。


UI 代码(untitled.py):

点击查看代码
from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(400, 300)self.horizontalLayout = QtWidgets.QHBoxLayout(Form)self.horizontalLayout.setObjectName("horizontalLayout")self.verticalLayout = QtWidgets.QVBoxLayout()self.verticalLayout.setObjectName("verticalLayout")self.plain_text_edit = QtWidgets.QPlainTextEdit(Form)self.plain_text_edit.setObjectName("plainTextEdit")self.verticalLayout.addWidget(self.plain_text_edit)self.label = QtWidgets.QLabel(Form)self.label.setText("")self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)self.label.setObjectName("label")self.verticalLayout.addWidget(self.label)self.verticalLayout.setStretch(0, 1)self.verticalLayout.setStretch(1, 1)self.horizontalLayout.addLayout(self.verticalLayout)self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))

逻辑代码:

import sysfrom PyQt5.QtWidgets import *
from PyQt5.QtCore import *from untitled import Ui_Form  # UI 代码:untitled.pyclass MyWindow(QWidget, Ui_Form):def __init__(self):super(MyWindow, self).__init__()self.setupUi(self)self.plain_text_edit.textChanged.connect(self.set_timer)  # 检测输入框文本改变self.timer = QTimer()self.timer.setSingleShot(True)  # 设置为单次触发,即定时器超时后只触发一次,避免多余触发self.timer.timeout.connect(self.get_text)  # 超时(3000ms)后获取当前输入框内容def set_timer(self):print("重置 timer 倒计时为 3000ms")self.timer.start(3000)def get_text(self):print("读取 plain_text_edit 文本,并设置到 label 中")self.label.setText(self.plain_text_edit.toPlainText())app = QApplication(sys.argv)
mw = MyWindow()
mw.show()
sys.exit(app.exec_())
http://www.rkmt.cn/news/3713.html

相关文章:

  • Windows 自带的SSH中配置X11
  • 完整教程:技术小白如何快速的了解opentenbase?--把握四大特色
  • 9.13日模考总结
  • 高斯消元
  • uni-app iOS 性能监控全流程 多器具协作的实战优化指南
  • 十八、CPU的控制流:正常控制流和异常控制流
  • 使用 C# 设置 Excel 单元格格式 - 教程
  • 【ARM Cache 及 MMU 系列文章 6.1 -- Cache maintenance 指令及相关寄存器有哪些?】
  • 每日Java并发面试系列(5):基础篇(线程池的核心原理是什么、线程池大小设置为多少更合适、线程池哪几种类型?ThreadLocal为什么会导致内存泄漏?) - 实践
  • 模仿玩家习惯的简单AI系统:GoCap
  • 浅谈马拉车
  • 十七、异常和中断响应过程的时序图
  • 直播平台搭建,浏览器中的事件循环与Node中的事件循环 - 云豹科技
  • Redisson 分布式锁的实现原理 - 教程
  • ros2--service/服务--接口 - 教程
  • 深入解析:【Unity基础】枚举AudioType各个枚举项对应的音频文件类型
  • 【关注可白嫖源码】25046基于SpringBoot的少儿编程管理系统设计与达成
  • 工具链部署实用技巧 7|模型设计帧率推理时耗时与带宽分析
  • 基于Django的“社区爱心养老管理系统”设计与开发(源码+数据库+文档+PPT) - 实践
  • 实用指南:Excel转图片excel2img库bug修复:AttributeError ‘parent‘ 问题解决方案
  • 数据结构与算法-32.图-加权无向图最小生成树
  • 数据结构与算法-32.图-加权无向图
  • 拉格朗日反演定理(LIFT)
  • 深入解析:中国AI云市场报告:阿里云份额达35.8%,高于2至4名总和
  • 暑假周进度总结
  • 万能欧几里得算法
  • 直播软件源码,聊聊Java的异常机制问题 - 云豹科技
  • 2025 项目管理到底用什么软件?
  • 我就是我不一样的烟火
  • Win11纯净版D盘出现黄色感叹号的问题