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 an QtWidgets 모듈.

새로운 QFileDialog 클래스에서 getOpenFileNameAndFilter() 방법은 getOpenFileName(), getOpenFileNamesAndFilter() 으로 getOpenFileNames()getSaveFileNameAndFilter() 으로 getSaveFileName(). 이러한 메서드의 이전 서명도 변경되었습니다.

PyQt5에는 둘 이상의 Qt 클래스에서 하위 클래스로 분류 된 클래스를 정의 할 수있는 규정이 없습니다.

pyuic5 유틸리티 (Designer의 XML 파일에서 Python 코드 생성)는 --pyqt3-wrapper 플래그를 지원하지 않습니다.

pyrcc5-py2 및 -py3 플래그를 지원하지 않습니다. pyrcc5의 출력은 모든 버전의 Python v2.6 이상과 호환됩니다.

PyQt5는 항상 sip.setdestroyonexit() 자동으로 소유하고있는 모든 래핑 된 인스턴스의 C ++ 소멸자를 호출합니다.