python pyqt5 自定义信号和槽

-- 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()   
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Python版本3.7PySide2 Version: 5.14.1官方文档:http://doc.qt.io/q...
    3ni阅读 6,678评论 0 10
  • 1、概述 信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检...
    你的社交帐号昵阅读 46,088评论 0 9
  • 放下痛苦,就会增加快乐, 放下自私自我执着计较 就会增加无私无我奉献包容, 放下贪嗔痴的念,就会化掉怨恨恼怒烦的情...
    泰安新泰晓筠阅读 133评论 0 0
  • 埋进泥土里的头颅生长出绿色的发丝, 肆意得像火舌上狂舞的吉普赛舞女。 我身体里的器官由此分泌出嫉妒, 于是我心想:...
    花椒Chilli阅读 581评论 1 0
  • 临张迁碑碑额缪篆
    学止阅读 1,467评论 2 2

友情链接更多精彩内容