首页 > 其他 > 详细

PyQt5 信号与槽机制

时间:2021-07-15 17:14:55      阅读:27      评论:0      收藏:0      [点我收藏+]

说明:
为信号连接槽函数, 在信号激发时实现对槽函数的调用.
作用:
一个信号可以绑定多个槽函数, 实现一对多的激发效果.
信号也可以连接其他的信号.
跨线程时, 必须使用信号进行参数传递.

from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot
class TestSignal(QObject):
    # 信号必须定义为类的属性
    # 参数类型 int str list dict 
    signal = pyqtSignal(int, str)
    def __init__(self):
        super().__init__()

def show1(v1, v2):
    print(v1, v2)

def show2(v1, v2):
    print(v2, v1)

if __name__ == ‘__main__‘:
    test = TestSignal()
    # 连接槽函数
    test.signal.connect(show1)
    test.signal.connect(show2)
    # 激发信号
    test.signal.emit()
    # 断开连接
    test.signal.disconnect(show2)
    # 断开全部连接
    test.signal.disconnect()

槽装饰器
非必要, 目的是将Python方法显式标记为Qt槽,并为其指定C++签名
意义未明确

@PyQt5.QtCore.pyqtSlot(参数类型)
def function(value):
    pass

PyQt5 信号与槽机制

原文:https://www.cnblogs.com/congxinglong/p/15015037.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!