В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль QtCompat (compatibility). Там не так много функций но они довольно полезны.
Этот модуль содержит унификаци модуля shiboken2, функций loadUi, translate и несколько переименованных функций классов или изменённую сигнатуру аргументов и возвращаемых значений. Это единственное исключение из правила когда вам потребуется где-то изменить свой код кроме импортов и этот код не похож на обычный код PySide2.
Например, в PyQt4 и PySide есть метод
QHeaderView.setResizeMode
Для PyQt5 и PySide2 они были благополучно переименованы в
QHeaderView.setSectionResizeMode
Чтобы применить этот метод следует использовать такой код
from Qt import QtCompath
header = self.horizontalHeader()
QtCompat.QHeaderView.setSectionResizeMode(header, QtWidgets.QHeaderView.Fixed)
Унификация загрузки UI файлов:
# PySide2
from PySide2.QtUiTools import QUiLoader
loader = QUiLoader()
widget = loader.load(ui_file)
# PyQt5
from PyQt5 import uic
widget = uic.loadUi(ui_file)
# Qt.py
from Qt import QtCompat
widget = QtCompat.loadUi(ui_file)
Хорошо что таких моментов не много и их легко запомнить.
Полный список можно посмотреть в таблице.
#qt#tricks
🇺🇸🚤 L’armée américaine a mené dimanche une frappe contre un navire soupçonné de servir au trafic de drogue dans l’océan Pacifique, tuant trois personnes, a annoncé le Commandement sud des États-Unis (Southcom).
#étatsunis#pacifique#navire
🇺🇸 Les forces armées des États-Unis ont de nouveau frappé mercredi un navire utilisé par des trafiquants de drogue dans l’est de l’océan Pacifique, trois personnes ont été tuées.
#frappe#navire#drogue
🇹🇷 Un porte-conteneurs qui dérivait dans le détroit du Bosphore s’est échoué à quelques mètres de villas résidentielles, sans faire de victimes. Le navire provenait de Russie et se dirigeait vers le port turc de Kocaeli, a annoncé la Direction générale de la sécurité côtière turque.
#turquie#navire#incident
🇺🇸 Le Commandement sud des États-Unis (Southcom) a annoncé avoir mené, une nouvelle frappe contre un navire soupçonné de trafic de drogue dans l’est de l’océan Pacifique.
Selon la même source, trois personnes ont été tuées dans cette frappe, aucun soldat américain n’a été blessé.
#étatsunis#frappe#navire#drogue