PyQT5 emit 和 connect的用法详解

Muriel ·
更新时间:2024-11-14
· 812 次阅读

对于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的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:解决安装pyqt5之后无法打开spyder的问题pyqt5、qtdesigner安装和环境设置教程Pycharm+Python+PyQt5使用详解利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统pyqt5 QScrollArea设置在自定义侧(任何位置)PyQt 图解Qt Designer工具的使用方法Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法PyQt5 closeEvent关闭事件退出提示框原理解析



emit connect pyqt5 pyqt

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章