В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
🪐 Astronomers used an exploding star, supernova SN 1987A in the Large Magellanic Cloud (about 168,000 light-years away), to precisely measure the speed of light across vast space. Light and ghostly particles called neutrinos from the explosion reached Earth just hours apart, providing real proof that even over intergalactic distances, light always travels at the same constant speed—299,792 kilometers per second. ✨
#speedoflight⚡#supernova⚡#LargeMagellanicCloud⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 In the Tarantula Nebula of the Large Magellanic Cloud, light from young, massive stars races outward at the universal speed limit—299,792 kilometers per second—helping illuminate vast clouds of gas across 1,000 light-years of space. Because nothing can travel faster than this speed in a vacuum, the glow we see from such stellar nurseries is always an echo from the past, showing us cosmic events exactly as they unfolded years, decades, or even millennia ago. ✨
#speedoflight⚡#tarantulanebula⚡#largemagellaniccloud⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries