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")  # 发射信号 
相关推荐
wuyk5555 天前
PyQt6-第10讲-PDF工具箱
python·microsoft·pdf·pyqt
wuyk5555 天前
PyQt6-第14讲-数据库与Excel双向同步
数据库·python·ui·excel·pyqt
MrWind灬6 天前
我给自己写了个 Kafka 桌面客户端:MrWindKafkaClient
kafka·pyqt
万粉变现经纪人7 天前
如何解决 pip install 安装报错 检测到 yanked 版本需更换可用版本 问题
人工智能·python·scrapy·numpy·pandas·pyqt·pip
MoRanzhi12038 天前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
wuyk55510 天前
PyQt6-第06讲-主窗口框架
python·pyqt
MoRanzhi120310 天前
第6篇(中)· 使用 PyQt5 实现 2048 高性能计算版:无头后台求解与三档运行模式
python·pyqt·数据持久化·多进程·进程间通讯·后台任务·断点续跑
wuyk55515 天前
PyQt6-第05讲-QtDesigner工作流与ui文件
python·ui·pyqt
金融小师妹16 天前
多因子时间序列分析:美元与美债收益率变化对黄金价格+1.6%的影响
c语言·人工智能·git·决策树·pyqt
金融小师妹16 天前
事件驱动分析模型:9月PPI超预期与美联储利率预期对黄金价格的影响
人工智能·云计算·线性回归·pyqt