PyQt5 - O que há de novo

A API PyQt5 não é automaticamente compatível com versões anteriores. Portanto, o código Python envolvendo módulos PyQt4 deve ser atualizado manualmente, fazendo alterações relevantes. Neste capítulo, as principais diferenças entre PyQt4 e PyQt5 foram listadas.

PyQt5 não é compatível com versões do Python anteriores à v2.6.

PyQt5 não suporta o método connect () da classe QObject para conexão entre o sinal e o slot. Portanto, o uso não pode mais ser implementado -

QObject.connect(widget, QtCore.SIGNAL(‘signalname’), slot_function)

Apenas a seguinte sintaxe é definida -

widget.signal.connect(slot_function)

As classes definidas no módulo QtGui anterior foram distribuídas em QtGui, QtPrintSupport a QtWidgets módulos.

Na nova classe QFileDialog, o getOpenFileNameAndFilter() método é substituído por getOpenFileName(), getOpenFileNamesAndFilter() de getOpenFileNames() e getSaveFileNameAndFilter() de getSaveFileName(). As assinaturas mais antigas desses métodos também mudaram.

PyQt5 não tem provisão para definir uma classe que é subclassificada de mais de uma classe Qt.

pyuic5 utilitário (para gerar código Python a partir do arquivo XML do Designer) não suporta o sinalizador --pyqt3-wrapper.

pyrcc5não suporta os sinalizadores -py2 e -py3. A saída de pyrcc5 é compatível com todas as versões do Python v2.6 em diante.

PyQt5 sempre invoca sip.setdestroyonexit() automaticamente e chama o destruidor C ++ de todas as instâncias encapsuladas que ele possui.