首页 > 其他分享 >pyqt5-pyqtSignal信号

pyqt5-pyqtSignal信号

时间:2023-07-10 21:35:20浏览次数:51  
标签:sender pyqtSignal self work pyqt5 信号 方法

1、介绍

pyqt项目中,子线程中存在两种需求:

  • 子线程结束时,以信号的形式触发事件,调用方法,与ui组件交互
  • 子线程运行过程中,持续以信号的形式触发事件,调用方法与ui组件交互

可以基于pyqtSignal实现。

(189条消息) 【python编程】使用pyqtsignal实现消息回调的注意事项_时空worker的博客-CSDN博客

2、pyqtSignal使用

2.1 信号发生类

  • pyqtSignal对象所在类必须定义在继承自QObject的类中
  • pyqtSignal对象作为类级别变量声明
  • 该类的初始化方法中必须调用父类的初始化方法
class message_sender(QObject):
    signal = pyqtSignal(str)
    def __init__(self):
        super().__init__()
    def work(self):
        self.signal.emit('开始工作')
  • QThread继承了QObject类,所以可以是直接替换
  • 并未限制是work方法,任意符合规范命名即可
  • 使用时,emit方法并未得到pycharm的代码提示。但实际测试可用。
  • emit方表示触发一次事件,可以触发多次。
  • emit方法的参数作为传递的值,其类型与pyqtSignal声明时一致,还可以是list等类型

2.2 信号接收

相比于信号发送,信号接收并未严格的环境要求。即普通方法,类方法,类是否继承PyQt类都没要求

class message_receiver:
    def work(self):
        sender = message_sender()
        sender.signal.connect(self.callback)
        sender.work()
    def callback(self, msg):
        print('接收信号:'+msg)
  • 并未限制是work或callback方法,任意符合规范命名即可
  • 编程时,connect方法并未得到pycharm的代码提示。但实际测试可用

 

标签:sender,pyqtSignal,self,work,pyqt5,信号,方法
From: https://www.cnblogs.com/wd404/p/17542379.html

相关文章

  • 基于FPGA的信号发生器,使用VHDL或Verilog语言进行开发,可以提供相关的仿真和设计说资料
    基于FPGA的信号发生器,使用VHDL或Verilog语言进行开发,可以提供相关的仿真和设计说资料。ID:3150646782307233......
  • 阵列信号处理及matlab仿真-------波束形成算法基础知识以及MMSE、MSNR和LCMV的MATLAB
    上一篇《阵列信号处理及MATLAB仿真-----阵列信号绪论》里面说了阵列信号处理研究的四个主要问题:波束形成技术、空间谱估计、信号源定位、信源分离。接下来我们就波束形成来做一个详细的学习。一、波束形成的定义:首先说一下它的物理意义,阵列天线的方向图是全方向的,但是......
  • python: PyQt5 beginner
     fromPyQt5.QtWidgetsimportQWidget,QApplication,QMainWindow,QLabel,QPushButtonfromPyQt5importQtCore,QtGuiimportsysimportosdefclick():print("HyButtonisclicked!")#Pressthegreenbuttonintheguttertorunthescri......
  • 以太网温湿度传感器RJ45信号和485信号输出的温湿度传感器区别
    #RS485信号输出的温湿度传感器和RJ45信号输出的温湿度传感器区别分析温湿度传感器是一种用于测量环境中温度和湿度的设备,可以应用于各种领域,如农业、工业、建筑等。在市场上,有两种常见类型的温湿度传感器:RS485信号输出的和RJ45信号输出的。本文将对这两种类型进行区别分析。##......
  • 华为超聚变2288H V5 服务器安装Windows系统后 PCI数据捕获和信号处理控制器 出现感叹
    2288Hv5服务器安装Windows系统后,PCI数据捕获和信号处理控制器出现感叹号可以在IBMC界面的“诊断-黑匣子”关闭黑匣子功能,然后重启设备解决也可以通过在操作系统侧安装IBMA软件解决2288Hv5服务器安装Windows系统后,PCI数据捕获和信号处理控制器 出现感......
  • pyqt5-样式设置
    1、介绍pyqt5中,允许通过类似css的层叠样式表的形式,直接为组件声明显示样式,比如设置字体、字体颜色和背景色等。具体的是,是通过QWidget类中声明的setStyle或setStyleSheet方法设置。setStyle(self,a0:QStyle)setStyleSheet(self,styleSheet:str)style(self)->QStylesty......
  • 基于声音信号的工业设备异常检测
    异常检测主要目标是将异常事件与正常事件区分开来,因此才有了“异常”一词。本文将介绍基于声音信号的工业机械异常检测,使用的数据集是MIMII声音数据集,该数据集很容易在网上获得。异常检测的任务可以通过多种方式实现。其中最简单的一种方法是将问题作为监督学习任务,并对正常和异......
  • 基于AIC,MDL,HQ,EDC算法实现阵列信号的信源数目估计附MATLAB代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 基于matlab实现给定非平稳信号的短时平稳持续时间
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 信号调理
    反向放大指的是增益为负inverting代表一个负号加法电路两个要点稳定时正端等于负端的电压输入节点和输出节点电流相同以反相放大器为例信号从反相输入端输入,输出信号反相输入电压是指正负端子间的电压差(下图中的Vin-0)虚短:正端和负端的电压都设为0电位虚断:输......