PyQT5 emit 和 connect的用法详解

yipeiwu_com6年前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设计】。

相关文章

浅析PEP572: 海象运算符

现在已经是Python 3.8的最后一个alpha版本,接着就是本月底要发布的的3.8.0 beta 1了。按规定,3.8已经不会再添加(修改)功能了,之前非常有争议的PEP 572的实...

详解python的数字类型变量与其方法

前言 python数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。下面话不多说,来看看详细的介绍吧。 以下实例在变量赋值时 Number 对...

python通过移动端访问查看电脑界面

python通过移动端访问查看电脑界面

这篇文章主要介绍了python通过移动端访问查看电脑界面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 看上心意的小姐姐,想看她平时都...

Python生命游戏实现原理及过程解析(附源代码)

Python生命游戏实现原理及过程解析(附源代码)

1. 生命游戏是什么 生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生...

pytorch中的自定义数据处理详解

pytorch在数据中采用Dataset的数据保存方式,需要继承data.Dataset类,如果需要自己处理数据的话,需要实现两个基本方法。 :.getitem:返回一条数据或者一个样本...