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

QLabel加入点击的几种方式

QLabel默认不支持点击事件,但可以通过捕捉鼠标事件实现点击处理。

1、通过eventFilter事件过滤器

self.labelSignUp.installEventFilter(self)def eventFilter(self, obj, event):"""重写事件过滤器"""# 判断事件源是否为目标label,且事件为鼠标点击if obj == self.labelSignUp and event.type() == QEvent.MouseButtonPress:# 判断是否为左键点击if event.button() == Qt.LeftButton:print("事件过滤器:Label被左键点击了")return True  # 事件已处理return super().eventFilter(obj, event)  # 其他事件交给父类处理

 2、自定义QLabel,加入点击事件处理

class ClickableLabel(QLabel):def __init__(self, parent=None):super().__init__(parent)def mousePressEvent(self, event):self.clicked.emit()clicked = QtCore.pyqtSignal()label = ClickableLabel("点击我")
label.clicked.connect(lambda: print("QLabel被点击了"))

 如果在designer上设计的UI,需要把Label控件提升为ClickableLabel。

第二种方式发现一个有意思的地方,如果通过pyqtSlot绑定点击事件时,信号名称可以随意改的。例如:

信号定义为clicked,可以用on_label_clicked进行绑定;

信号定义为pushed,用on_label_pushed绑定。

没有系统学习过pyqt,不知道这是什么特性,感觉自由度很高,有点意思。

http://www.hskmm.com/?act=detail&tid=27309

相关文章:

  • 2025 年看守所会见律师联系方式推荐,徐义明律师专业刑事辩护与高效会见服务
  • 软件技术基础第一次作业1
  • 昇腾个人学习笔记
  • iOS 26 性能测试全攻略,从界面体验到性能指标
  • 市场宽度实时定时版
  • 2025 年光伏展会预定,上海伏勒密科技有限公司打造覆盖全产业链的国际化新能源会展服务平台
  • ant-design-vue 4.x版本在谷歌浏览器80版本中样式不显示的问题
  • 实验结论
  • 2025 年喷雾干燥机厂家最新推荐:国内实力企业排行榜,含离心式 / 压力式 / 实验型设备品牌深度解析
  • oracle修改监听端口
  • 2025 年干燥机厂家最新推荐排行榜:聚焦国内优质干燥机厂家,精选实力品牌助力企业精准选购
  • Wireshark 4.6.0 for macOS, Windows - 网络协议分析器
  • 精密弹簧厂家最新推荐榜:高精度与耐用性能的工业优选
  • pyLDAPGui开发历程:跨平台LDAP图形化工具诞生记
  • 3D计算机视觉与图形学研究成果获奖
  • 2025 年最新推荐!等离子清洗机源头厂家权威榜单发布,涵盖大气 / 真空 / 宽幅 / 微波 / 自动化等多类型设备厂家推荐
  • JeecgBoot低代码 v3.8.3 大版本发布,组织架构革新+全面迈向 Spring Boot 3 时代
  • 2025年9月文章一览
  • DevOps技术演进:混合云时代下的本土化突围与智能化未来
  • 2025 年模块电源厂家最新推荐排行榜:dc/dc、ac/dc 及工业级模块电源优质企业全面解析与选购参考
  • 【AI生成】小模型微调技术浅析
  • [iOS] YYModel 初步学习 - 教程
  • 吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(三)
  • 分治
  • qwen3:0.6b模型的基本参数存在的价值应用场景分析
  • Gitee Insight领航研发效能工具市场:国产化与智能化双轮驱动下的技术突围
  • 【大数据】AI就业影响数据可视化分析系统 计算机毕业设计项目 Anaconda+Django+Spark+Hadoop环境调整 附源码+文档+讲解
  • 2026 航空航天、智能感知与控制国际学术会议
  • Trae 或 vscode无法在vue文件中自动跳转解决
  • 实用指南:小白也能学会的大模型构建:DeepSeek实战教程+代码解析