python qt5 数据改变 触发信号_python pyqt5 自定义信号和槽

该博客介绍了如何在Python的PyQt5框架中创建自定义信号和槽来处理数据变化。通过定义一个信号对象`QTypeSignal`和一个槽对象`QTypeSlot`,并使用`pyqtSignal`定义信号,`emit`发射信号,以及`connect`和`disconnect`来绑定和断开槽函数,展示了数据改变时如何触发和响应信号。
摘要由CSDN通过智能技术生成

-- coding: utf-8 --

"""

【简介】

内置信号槽示例

"""

from PyQt5.QtCore import QObject, pyqtSignal

信号对象

class QTypeSignal(QObject):

# 定义一个信号

sendmsg = pyqtSignal(object)

def __init__(self):

super(QTypeSignal, self).__init__()

def run(self):

# 发射信号

self.sendmsg.emit('Hello Pyqt5')

槽对象

class QTypeSlot(QObject):

def init(self):

super(QTypeSlot, self).init()

# 槽对象里的槽函数

def get(self, msg):

print("QSlot get msg => " + msg)

if name == 'main':

send = QTypeSignal()

slot = QTypeSlot()

# 1

print('--- 把信号绑定到槽函数 ---')

send.sendmsg.connect(slot.get)

send.run()

# 2

print('--- 把信号断开槽函数 ---')

send.sendmsg.disconnect(slot.get)

send.run()

-- coding: utf-8 --

from PyQt5.QtCore import QObject , pyqtSignal

信号对象

class QTypeSignal(QObject):

#定义一个信号

sendmsg = pyqtSignal( str,str)

def __init__( self):

super( QTypeSignal, self).__init__()

def run( self):

# 发射信号

self.sendmsg.emit('第一个参数','第二个参数')

槽对象

class QTypeSlot(QObject):

def init( self):

super( QTypeSlot, self).init()

# 槽对象里的槽函数

def get(self, msg1, msg2):

print("QSlot get msg => " + msg1 + ' ' + msg2)

if name == 'main':

send = QTypeSignal()

slot = QTypeSlot()

1

print('--- 把信号绑定到槽函数 ---')

send.sendmsg.connect( slot.get)

send.run()

#2

print('--- 把信号断开槽函数 ---')

send.sendmsg.disconnect( slot.get )

send.run()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值