PyQt5信号与槽学习笔记——自定义信号与槽(一)

信号与槽基础知识见上一篇博客:https://blog.csdn.net/qq_41895747/article/details/87523231

下面学习了自定义信号与槽

使用自定义信号与槽三要素

  1. 创建信号
  2. 创建槽
  3. 将信号和槽绑定

三种操作信号的方法

  1. 绑定信号与槽connect()
  2. 解绑disconnect()
  3. 发射信号emit()

依据其三要素创建一下代码

# -----创建时间:2019.2.17————
# 熟悉信号与槽的使用

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import sys

# 创建信号类
class QTypeSigner(QObject):
    # 定义一个信号
    sendmsg=pyqtSignal(object)

    def __init__(self):
        super(QTypeSigner, self).__init__()

    def run(self):
        # 发射信号
        self.sendmsg.emit("发射信号")

# 创建槽类
class QTypeSlot(QObject):
    def __init__(self):
        super(QTypeSlot, self).__init__()

    def get(self,msg):
        print("QSlot get msg to"+msg)

if __name__ == "__main__":
    send=QTypeSigner()
    slot=QTypeSlot()

    # 绑定信号和槽
    print("绑定信号和槽")
    send.sendmsg.connect(slot.get)
    send.run()

    # 断开信号和槽
    print("断开信号和槽")
    send.sendmsg.disconnect(slot.get)
    send.run()

运行成功

简单的自定义信号与槽就成功了

你可能感兴趣的:(PyQt5,PyQt5开发)