PyQT5 emit 和 connect的用法详解

yipeiwu_com5年前Python基础

对于PyQT4, PyQT5在一些使用上有着比较明显的变化有很大的变化,让人惊讶是在emit和connect上的一些变化比较有意思,相信也是QT为了更好的和Python相结合做的改进。

先上一张图:

出现 AttributeError: 'TCPWindow' object has no attribute 'connect' 这个问题说明了PyQT5不在支持PyQT4的链接信号槽方式!

对于emit使用如下:

class Server(QTcpServer):
  updateServer= pyqtSignal(list)
self.emit(SIGNAL("updateServer(QString,int)"),msg,length)

上面这个需要改成

self.updateServer(str,int).emit(msg,length)

注意PyQt4还是有QString这个东西的,PyQt5我找了半天都没有了,可以直接用 str 来替代,对于QString::number 都是直接可以使用 str() 来取代,可以说很方便,更加适应Python的风格。

对于connect使用如下(以pushButton为例):

self.connect(self.pb_build_tcp,SIGNAL("released()"),self.CreateServer)

改成:

self.pb_build_tcp.released.connect(self.CreateServer)

以上这篇PyQT5 emit 和 connect的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python绘制股票移动均线的实例

Python绘制股票移动均线的实例

1. 前沿 移动均线是股票最进本的指标,本文采用numpy.convolve计算股票的移动均线 2. numpy.convolve numpy.convolve(a, v, mode='...

python删除过期log文件操作实例解析

本文研究的主要是python删除过期log文件的相关内容,具体介绍如下。 1. 用Python遍历目录 os.walk方法可以很方便的得到目录下的所有文件,会返回一个三元的tupple...

Python使用reportlab模块生成PDF格式的文档

(1)使用python生成pdf文档需要的最基本的包是pdfgen。它属于reportlab模块,而reportlab模块并没有默认集成到python的安装包中,所以需要安装该模块。 (...

Python使用迭代器捕获Generator返回值的方法

本文实例讲述了Python使用迭代器捕获Generator返回值的方法。分享给大家供大家参考,具体如下: 用for循环调用generator时,发现拿不到generator的return...

python中将\\uxxxx转换为Unicode字符串的方法

今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串,如下: 将 \\u9500\\u552e 转化为 \u9500\u552e 也就是 销售...