问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

pyqt4pyqt5哪个好用_pyqt5使用

发布网友 发布时间:2023-05-31 11:22

我来回答

1个回答

热心网友 时间:2024-01-04 19:26

PyQt5不兼容PyQt4(尽管经验表明,将PyQt4的应用程序移植到PyQt5难度不是很大)。本节描述了两者之间的主要差异。

支持Python的版本

不支持较早的Python2.6之前的版本┊。

推荐使用特性

PyQt5不支持任何被标记为过时的或废弃的QTV5.0的API。然而,还是可能有一些“漏网之鱼”。如果将来发现了,这些错误将被删除。

多个API

PyQt4支持许多不同的API版本(QString,QVariant等)。QVariant

PyQt5只支持V2版本的API。一个例外:对于QVariant,去除了。

老式的信号和槽

PyQt4的旧式的信号和槽不再被支持。因此以下用法在PyQt5中已经不能使用:

QObject.connect()

QObject.emit()

SIGNAL()

SLOT()

所有那些含有参数,并且对返回结果调用SIGNAL()或SLOT()的方法不再被支持。绑定信号与调用函数总是等效的。

此外,另一个差异是增加了下面的函数:

disconnect()断开所有对QObject实例的连接,不需要参数。

新风格的信号和槽

QT实现的信号与一个可选的参数作为两个独立的信号,一个与论点和一个没有它。PyQt4暴露这两允许你连接到他们每个。然而,当发射信号,你必须使用适当的参数发出的信号数。

PyQt5暴露唯一的信号在所有指定参数。然而它允许任何可选参数被省略时,发射信号。

不同于PyQt4,PyQt5支持在类中自定义属性、信号与槽,即使这个类没有继承自QObject(比如:混合类)。

,QtScript和模块

PyQt4的,QtScript和模块不再支持。这些已被替换为PyQt5的QtQml和QtQuick模块,PyQt5支持Python对象创建QML。

QtGui模块

PyQt4的QtGui模块,在PyQt5中被拆分成三个模块:QtGui,和QtWidgets。

QtOpenGL模块

只有QGlContext,QGlFormat和QGlWidget类被PyQt5支持。

QtWebKit模块

PyQt4的QtWebKit模块被分成PyQt5的QtWebKit和模块。

pyqtconfig模块

PyQt4的pyqtconfig模块不支持。截面PyQt5扩展的API介绍了支持PyQt5(例如提供第三方包qscintilla),要建立在PyQt5。

dbus.mainloop.qt模块

PyQt4的dbus.mainloop.qt模块称为dbus.mainloop.PyQt5在PyQt5。这使得他们可以并排安装。它们的功能是相同。

QDataStream

的reaint8(),readint8(),writeuint8()和writeint8()方法解释值读写数字。PyQt4中它们被解释为单个字符的字符串。

QFileDialog

PyQt4的QFileDialog类的(),()和()方法,在PyQt5中已更名为(),()和()。

而PyQt4原来的(),()和()不再被PyQt5支持。

QGraphicsItemAnimation

对废弃的QGraphicsItemAnimation类的支持已被删除。如果移植现有的PyQt4应用程序,首先考虑用QPropertyAnimation替换。

QMatrix

对废弃的QMatrix类的支持已被删除。如果移植现有的PyQt4应用程序,首先考虑用QTransform替换。

QPyTextObject

PyQt4的QPyTextObject,是作为一个无法定义一个继承多个Qt类的Python类的变通的解决方法。PyQt5支持定义一个Python类,来继承多个Qt类,只要他们已经在C声明为Q_DECLARE_INTERFACE。所以,QPyTextObject没有在PyQt5中实现。

QSet

PyQt4,套装在Python中的V2和V3一组Python列表实现。在PyQt5套装总是作为一个集实现。

pyuic5

pyuic5不支持pyqt3——包装国旗pyuic4。

pyr5

pyr5不支持-PY2和-PY3国旗pyr4。输出pyr5兼容所有版本的PythonPython2.6入手。

多重继承

不像PyQt4PyQt5类实现多重继承,合作。在其他的话总是做PyQt5类下面的Python代码在等效V3__init__方法(如kwds是一个未使用的关键词参数字典):

super().__init__(**kwds)

这意味着,那些未使用的关键字的参数传递给__init__任何mixin类的方法。这些混合类必须合作,即必须如果他们有自己做一个类似的电话__init__实现。

当使用多重继承PyQt4是常见的电话__init__的超类方法明确,例如:

classMyQObject(QObject,MyMixin):

def__init__(self,parent,mixin_arg):

QObject.__init__(self,parent)

MyMixin.__init__(self,mixin_arg)

#Otherinitialisation...

在上述将导致PyQt5mymixin__init__。被称为两。而要实现:

classMyQObject(QObject,MyMixin):

def__init__(self,**kwds):

super().__init__(**kwds)

#Otherinitialisation...

请注意,如果没有其他的初始化做那么__init__方法不需要。

混合类应实施如下:

classMyMixin:

def__init__(self,mixin_arg,**kwds):

super().__init__(**kwds)

#Otherinitialisation...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 温州龙湾国际机场大巴电话 温州龙湾温州龙湾机场客服电话24小时 盐酸标准滴定溶液的制备实验原理 工业盐酸总酸度的测定的思考题或遇到的问题 丽江的山水风情 阅读短文带答案 感觉孩子的脚有一点扁,怀疑是扁平足,但是有不太确定,怎么判断是不... SQL自定义函数怎么返回2个值 用sql语句查找某一行的一个值并返回那个值,怎么写? 请将详细点 ,谢谢... 装修经验都有哪些房屋装修步骤有哪些 oracle 面试题,求解 怎么装修房子小户型装修经验总结 房子装修经验有哪些房子装修设计要点 我对我喜欢的女生留言 左耳靠近心脏,甜言蜜语要说给左耳听.她给我回复... 赵简子问子贡曰中文言文翻译 夫子事孔子数十年中业而去寡人问子子曰不能识何意 mjkg代表什么意思 哪家的硅藻泥是正品,不要小作坊做的,现在硅藻泥太泛滥了不知道如何鉴... 什么是硅藻泥又该如何去辨别其真假 克洛斯威硅藻泥如何辨别 鉴别真假硅藻泥有什么常用方法? PyQt5 在Mac 10.12系统运行提示错误(which was built for Mac OS X... 老师专业技术职务怎么填写 苹果6S128G才用了12g就提示内存不足,但是手机上显示还有102G可用啊,不... mysql的SQL语句如何将重复的字段筛选出一个,我一查就出现很多一样... 新能源汽车需要加油吗 vivoy67上qq为什么没有桌面应用图标标记? 京东鸭鸭官方旗舰店和鸭鸭女装旗舰店都是正规的吗 京东的鸭鸭羽绒服和品多多的羽绒服一样吗 鸭鸭女装旗舰店是真的吗 同样是鸭鸭羽绒裤,拼多多和京东价格相差那么大 奇数相乘的通项公式 连续奇数的乘机的公式是什么? 海尔纤美洗衣机二个槽的使用方法 《重启之极海听雷》第二季什么时候播出? 重启2水下说下来呀的是什么 ...关心我的人?qq怎么查看特别关心我的人有几个?电脑qq怎么查看特别关心... 没有徐州市户口能办理徐州市学籍吗 读书只能在户口所在地吗 请问“麻吉”到底是什么意思? 南征北战电影里凤凰山与马铃山有多少距离