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")  # 发射信号 
相关推荐
淮北4941 天前
ubuntu22.04将mp4转换成gif
python·scrapy·flask·beautifulsoup·pyqt·matplotlib
懷淰メ2 天前
【AI加持】基于PyQt+YOLO+DeepSeek的口罩佩戴检测系统(详细介绍)
yolo·计算机视觉·pyqt·口罩检测·deepseek·ai加持
小灰灰搞电子4 天前
PyQt QWebChannel详解-C++与Web页面的无缝双向通信
前端·pyqt
小灰灰搞电子6 天前
PyQt QtAwesome详解:为Qt应用注入字体图标的魅力
pyqt·字体图标
DeepLearningYolo6 天前
基于PyQt的YOLOv5+DeepSORT可视化界面,可实现目标跟踪、模型更换、结果保存和轨迹隐藏等功能。
yolo·目标跟踪·pyqt
TRACER~8511 天前
项目实战:pyqt6实现拼豆图纸生成器
python·pyqt
龙腾AI白云20 天前
大模型Prompt实战:精准生成专业技术文档
plotly·pyqt·fastapi·tornado·dash
CodebySandwich24 天前
QWidget转化为matplotlib绘图窗体
pyqt
懷淰メ24 天前
python3GUI---基于PyQt5+YOLOv8+DeepSort的智慧行车可视化系统(详细介绍)
开发语言·yolo·计算机视觉·pyqt·yolov8·deepsort·车距
:mnong24 天前
附图报价系统设计分析2
python·pyqt·openvino