网络编程
位置:首页>> 网络编程>> Python编程>> PyQT5 emit 和 connect的用法详解

PyQT5 emit 和 connect的用法详解

作者:JameScottX  发布时间:2022-02-08 15:15:11 

标签:PyQT5,emit,connect

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

先上一张图:

PyQT5 emit 和 connect的用法详解

出现 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)

来源:https://blog.csdn.net/qq_37389133/article/details/80707304

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com