- PyQt5 教程
- PyQt5 - 主页
- PyQt5 - 简介
- PyQt5 - 新特性
- PyQt5 - Hello World 示例
- PyQt5 - 主要类
- PyQt5 - 使用 Qt Designer
- PyQt5 - 信号和槽
- PyQt5 - 布局管理
- PyQt5 - 基本窗口小部件
- PyQt5 - QDialog 类
- PyQt5 - QMessageBox
- PyQt5 - 多文档界面
- PyQt5 - 拖放
- PyQt5 - 数据库处理
- PyQt5 - 绘图 API
- PyQt5 - 画刷样式常量
- PyQt5 - QClipboard
- PyQt5 - QPixmap 类
- PyQt5 实用资源
- PyQt5 - 快速指南
- PyQt5 - 实用资源
- PyQt5 - 讨论
PyQt5 - 新特性
PyQt5 API 与之前的版本不自动兼容。因此,涉及 PyQt4 模块的 Python 代码应通过进行相关更改来手动升级。本章列出了 PyQt4 和 PyQt5 之间的主要差异。
PyQt5 不支持低于 v2.6 的 Python 版本。
PyQt5 并不支持 QObject 类用来连接信号和槽的 connect() 方法。因此无法再实现此用法 −
QObject.connect(widget, QtCore.SIGNAL(‘signalname’), slot_function)
只定义了以下语法 −
widget.signal.connect(slot_function)
之前 QtGui 模块中定义的类已分布到 QtGui、QtPrintSupport 和 QtWidgets 模块中。
在新 QFileDialog 类中,getOpenFileNameAndFilter() 方法被 getOpenFileName() 替代,getOpenFileNamesAndFilter() 被 getOpenFileNames() 替代,getSaveFileNameAndFilter() 被 getSaveFileName() 替代。这些方法的旧签名也已更改。
PyQt5 还没有允许定义子类化自多个 Qt 类的类的规定。
pyuic5 工具(用于从 Designer's XML 文件生成 Python 代码)不支持 --pyqt3-wrapper 标记。
pyrcc5 不支持 -py2 和 -py3 标记。pyrcc5 的输出与 v2.6 及更高版本的 Python 兼容。
PyQt5 会一直自动调用 sip.setdestroyonexit(),并调用其拥有所有包装实例的 C++ 析构函数。
广告