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")  # 发射信号 
相关推荐
懷淰メ4 天前
python3GUI--基于PyQt5+DeepSort+YOLOv8智能人员入侵检测系统(详细图文介绍)
开发语言·深度学习·yolo·目标检测·pyqt·课程设计·deepsort
Humbunklung8 天前
PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
笔记·python·学习·pyqt
En^_^Joy9 天前
PyQt常用控件的使用:QFileDialog、QMessageBox、QTreeWidget、QRadioButton等
开发语言·python·pyqt
zhlei_1234510 天前
封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发
ide·vscode·pyqt
猫头虎11 天前
零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南
vscode·python·pycharm·beautifulsoup·numpy·pyqt·pip
江畔柳前堤19 天前
PyQt学习系列08-插件系统与模块化开发
运维·开发语言·数据库·python·学习·机器学习·pyqt
江畔柳前堤22 天前
PyQt学习系列05-图形渲染与OpenGL集成
开发语言·javascript·人工智能·python·学习·ecmascript·pyqt
江畔柳前堤22 天前
PyQt学习系列11-综合项目:多语言文件管理器
开发语言·网络·python·学习·django·pyqt
幽络源小助理23 天前
基于Yolov8+PyQT的老人摔倒识别系统源码
yolo·pyqt
江畔柳前堤23 天前
PyQt学习系列07-数据库操作与ORM集成
数据库·学习·算法·机器学习·架构·pyqt