PyQt(Python+Qt)学习随笔:信号签名中的万能Python类型PyQt_PyObject

信号在定义时参数如果使用字符串‘PyQt_PyObject’表示参数可以是任何Python类型,这通常用于传递实际Python类型未知的对象,下面来举例说明:

  • 定义1个带2个未知Python类型参数的信号
sig2 = QtCore.pyqtSignal('PyQt_PyObject','PyQt_PyObject')
  • 定义槽函数
    def sigRecv(self, val1, val2):  # 接收信号的槽函数
            self.w_displayInf.append(f"Received signal:{val1},{val2}")
  • 建立信号和槽的连接
self.sig2.connect(self.sigRecv)
  • 发射信号
self.sig2.emit(self.count,self.sigInfo) #sigInfo为一个lineEdit的输入框对象
self.sig2.emit(self.count,self.sigInfo.text())

可以看到发射信号时,可以直接将输入框对象直接作为参数发送过去,也可以取得输入框的文本发送过去,对应的信号和槽都是同一个。

老猿Python,跟老猿学Python!

posted on 2019-12-27 00:35  老猿Python  阅读(278)  评论(0编辑  收藏  举报