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.