大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
emit与connect怎么在PyQT5 中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联是一家专注于网站设计、成都网站建设与策划设计,桂东网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:桂东等地区。桂东做网站价格咨询:18982081108对于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)
看完上述内容,你们掌握emit与connect怎么在PyQT5 中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!