PyQt5 - Что нового
PyQt5 API автоматически не совместим с более ранними версиями. Следовательно, код Python, включающий модули PyQt4, следует обновлять вручную, внося соответствующие изменения. В этой главе перечислены основные различия между PyQt4 и PyQt5.
PyQt5 не поддерживается в версиях Python ранее, чем v2.6.
PyQt5 не поддерживает метод connect () класса QObject для соединения между сигналом и слотом. Следовательно, использование больше не может быть реализовано -
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 Утилита (для генерации кода Python из XML-файла конструктора) не поддерживает флаг --pyqt3-wrapper.
pyrcc5не поддерживает флаги -py2 и -py3. Вывод pyrcc5 совместим со всеми версиями Python v2.6 и новее.
PyQt5 всегда вызывает sip.setdestroyonexit() автоматически и вызывает деструктор C ++ всех обернутых экземпляров, которыми он владеет.