PyQt组件间的通信方式

PyQt组件间的通信方式

  • PyQt组件间的通信方式
    • [1. 组件介绍](#1. 组件介绍)
      • [1.1 组件的定义](#1.1 组件的定义)
      • [1.2 组件的分类](#1.2 组件的分类)
    • [2. 组件的通信方式](#2. 组件的通信方式)
      • [2.1 信号与槽(Signal & Slot)](#2.1 信号与槽(Signal & Slot))

1. 组件介绍

在 Qt 框架中,‌组件‌(Component)是构建图形用户界面(GUI)的核心元素

1.1 组件的定义

Qt 组件(又称‌控件‌或‌部件‌)指用户界面中所有可视化的交互元素,例如按钮、文本框、标签、窗口等‌12。这些组件通过继承 QWidget 类实现,并具备统一的属性、方法和事件处理机制‌

1.2 组件的分类
  1. 内置组件
    • 基础交互组件‌:QPushButton(按钮)、QLineEdit(输入框)、QCheckBox(复选框)等‌。
    • ‌布局容器‌:QGroupBox(组合框)、QTabWidget(标签页)等‌。
    • 视图组件‌:QListView(列表视图)、QTreeView(树状视图)等‌

2. 组件的通信方式

  • 信号与槽:最常用,支持跨组件和线程,自定义信号。‌
  • 直接引用:适用于父子或已知结构的组件,通过.parent()或传递引用。‌
  • 参数传递:初始化时传入数据或回调函数。‌
  • 队列模块:线程间安全传递数据。
2.1 信号与槽(Signal & Slot)
  1. 组件内使用
python 复制代码
button.clicked.connect(label.setText) 
  1. 组件间通信
    自定义信号‌:通过定义 pyqtSignal 实现组件间自定义事件通信。
python 复制代码
class CustomWidget(QWidget):
    custom_signal = pyqtSignal(str)  # 定义信号
    def emit_data(self):
        self.custom_signal.emit("Data")  # 发射信号 
相关推荐
凌云拓界9 天前
TypeWell全攻略(二):热力图渲染引擎,让键盘发光
前端·后端·python·计算机外设·交互·pyqt·数据可视化
凌云拓界10 天前
TypeWell全攻略:AI健康教练+实时热力图开发实战 引言
前端·人工智能·后端·python·交互·pyqt·数据可视化
oBxkQwKTLam18 天前
三通道交错并联双向buck-boost变换器。 通过simulink搭建的三通道交错并联双向b...
pyqt
深蓝海拓20 天前
PySide6的QTimeLine详解
笔记·python·qt·学习·pyqt
龙腾AI白云21 天前
具身智能体的长期任务规划与记忆机制
python·scrapy·plotly·数据挖掘·pyqt
深蓝海拓22 天前
pyside6的时间相关的基础知识学习笔记
笔记·python·qt·学习·pyqt
无损检测小白白22 天前
【PYQT】QLineEdit控件的信号与槽
python·pyqt
onvadhFTH22 天前
开启数字电源PFC学习之旅
pyqt
深蓝海拓25 天前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
深蓝海拓1 个月前
PySide6从0开始学习的笔记(二十七) 日志管理
笔记·python·学习·pyqt