springcloud 自承式光缆 软件开发 jdbc Plupload vue插件库 vue绑定点击事件 安卓项目实战 oracle删除字段 nginx默认端口号 python安装mysql python怎么调用函数 python如何定义变量 java字符串反转 java文件写入 java手册 java获取当前ip php案例 javascript实例 ntscan popen alphacam mac画图软件 凯恩与林奇2下载 一羽月土米水日古余打一成语 高通cpu排行 位置不可用 tt语音官网 显示器面板类型 js跳出for循环 坐标标注插件 茸好珠 pr加速视频 文件压缩工具 cad文件 js继承的几种方式 ae渲染设置 狂战传说套装选择 python画散点图 只狼二段跳
当前位置: 首页 > 学习教程  > 编程语言

pyqtsignal()作用

2020/12/5 9:38:03 文章标签:

from PyQt5.QtCore import QObject , pyqtSignalclass CustSignal(QObject):#声明无参数的信号signal1 pyqtSignal()#声明带一个int类型参数的信号signal2 pyqtSignal(int)#声明带int和str类型参数的信号signal3 pyqtSignal(int,str)#声明带一个列表类型参数的信号signal4 …

from PyQt5.QtCore import QObject , pyqtSignal

class CustSignal(QObject):

    #声明无参数的信号
    signal1 = pyqtSignal()

    #声明带一个int类型参数的信号
    signal2 = pyqtSignal(int)

    #声明带int和str类型参数的信号
    signal3 = pyqtSignal(int,str)

    #声明带一个列表类型参数的信号
    signal4 = pyqtSignal(list)

    #声明带一个字典类型参数的信号
    signal5 = pyqtSignal(dict)

    #声明一个多重载版本的信号,包括带int和str类型参数的信号和带str类型参数的信号
    signal6 = pyqtSignal([int,str], [str])

    def __init__(self,parent=None):
        super(CustSignal,self).__init__(parent)

        #将信号连接到指定槽函数
        self.signal1.connect(self.signalCall1)
        self.signal2.connect(self.signalCall2)
        self.signal3.connect(self.signalCall3)
        self.signal4.connect(self.signalCall4)
        self.signal5.connect(self.signalCall5)
        self.signal6[int,str].connect(self.signalCall6)
        self.signal6[str].connect(self.signalCall6OverLoad)

        #发射信号
        self.signal1.emit()
        self.signal2.emit(1)
        self.signal3.emit(1,"text")
        self.signal4.emit([1,2,3,4])
        self.signal5.emit({"name":"tao","age":"25"})
        self.signal6[int,str].emit(1,"text")
        self.signal6[str].emit("text")

    def signalCall1(self):
        print("signal1 emit")

    def signalCall2(self,val):
        print("signal2 emit,value:",val)

    def signalCall3(self,val,text):
        print("signal3 emit,value:",val,text)

    def signalCall4(self,val):
        print("signal4 emit,value:",val)

    def signalCall5(self,val):
        print("signal5 emit,value:",val)

    def signalCall6(self,val,text):
        print("signal6 emit,value:",val,text)

    def signalCall6OverLoad(self,val):
        print("signal6 overload emit,value:",val)

if __name__ == '__main__':
    custSignal = CustSignal()
运行结果:

 

 

y


本文链接: http://www.dtmao.cc/news_show_450044.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?