pyqt5 自定义信号与槽中emit 的作用

pyqt5 自定义信号与槽中emit的作用

像下面的例子,信号与槽为独立的两个类,但是细心地初学者会发现两个类之间的参数是不能随便互相访问的,即使他们都是的父类一样。
这时候函数的传递就是emit完成的。
import sys
from time import time
from PyQt5.QtCore import *
class A(QObject):
namechenged = pyqtSignal(str)
def init(self,name=‘hiu’):
QObject.init(self)
self.setname(name)
# 定义一个发射信号的方法,name为信号所带的参数
def setname(self,name):
self.__name=name
self.namechenged.emit(self.__name)

    # 这里是对应信号namechanged的槽处理函数,name为来自信号的参数

class B(QObject):
def nameset(self, name):
print(“Hello World!”,name)

if name == “main”:
app = QCoreApplication(sys.argv)
a = A()
b = B()
# 将信号和槽连接
a.namechenged.connect(b.nameset)
a.setname(“dash”)
# 调用信号发射函数

sys.exit(app.exec_())

本人也是初学者,如有错误请大佬指出,大佬勿喷,本人也是抱着一颗同情初学者的心情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值