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、QtPrintSupportQtWidgets 模組中。

在新 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++ 解構函式。

廣告
© . All rights reserved.