В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
🇫🇷 Un incendie s’est déclaré dans l’hôtel Bristol, à proximité du palais de l’Élysée à Paris, faisant un blessé et entraînant l’évacuation de 400 personnes, a rapporté BFMTV, citant le maire du VIIIe arrondissement.
#paris#hôtel#incendie
🇱🇧🇮🇱Au moins quatre personnes ont été tuées et dix autres ont été blessées dans une frappe israélienne contre un hôtel du centre de Beyrouth, a rapporté la chaîne de télévision Al Jazeera, citant le ministère libanais de la Santé.
Quatre personnes ont été tuées et dix autres ont été blessées dans une frappe israélienne contre un appartement de l'hôtel Ramada à Beyrouth,
est-il indiqué.
#israël#liban#frappes#hôtel
🇦🇪 Un missile est tombé à côté de l’hôtel cinq étoiles Fairmont The Palm à Dubaï, provoquant un violent incendie sur place, a rapporté à TASS un témoin oculaire.
Il y a eu une forte explosion près de l’hôtel, un incendie s’est déclaré sur place et un énorme panache de fumée noire s’élève. La défense aérienne continue de fonctionner,
a déclaré l’interlocuteur de l’agence.
#dubaï#missile#hôtel
🇵🇰🇺🇸🇮🇷 L’hôtel Serena à Islamabad se prépare à accueillir des délégations des États-Unis et de l’Iran, attendues dans la capitale pakistanaise pour des négociations. C’est ce qu’a indiqué à un correspondant de TASS un employé de l’établissement.
#hôtel#délégations#pourparlers