В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
On December 29, 1708, the Great Alliance, made up of Britain, the Dutch Republic, and Austria, took control of Gent (present day Belgium) during the War of the Spanish Succession. This helped weaken France’s power in Europe. Gent was important because it was a key town for trade and military strategy.
@googlefactss⚔️🏰
[Source]
#History#WarOfSpanishSuccession#Gent#Europe#BelegVanGent
Belgium Jupiler Pro League🇧🇪
2026-04-22 18:30 UTC
Club Brugge KV vs. KV Mechelen
Predicted outcome: Club Brugge KV✅
Predicted score: 3:1
Actual: Club Brugge KV 6:1
#ClubBrugge#KVMechelen
2026-04-22 18:30 UTC
Union St. Gilloise vs. Gent
Predicted outcome: Union St. Gilloise❌
Predicted score: 2:1
Actual: Draw 0:0
#UnionStGilloise#Gent
#Football#BelgiumJupilerProLeague
Belgium Jupiler Pro League🇧🇪
2026-04-26 11:30 UTC
Gent vs. Club Brugge KV
Predicted outcome: Club Brugge KV✅
Predicted score: 1:2
Actual: Club Brugge KV 0:2
#Gent#ClubBrugge
2026-04-26 14:00 UTC
KV Mechelen vs. St. Truiden
Predicted outcome: St. Truiden✅
Predicted score: 1:2
Actual: St. Truiden 1:4
#KVMechelen#StTruiden
2026-04-26 16:30 UTC
Anderlecht vs. Union St. Gilloise
Predicted outcome: Union St. Gilloise✅
Predicted score: 1:2
Actual: Union St. Gilloise 1:3
#Anderlecht#UnionStGilloise
2026-04-26 17:15 UTC
Zulte Waregem vs. RAAL La Louvière
Predicted outcome: Zulte Waregem✅
Predicted score: 2:1
Actual: Zulte Waregem 4:0
#ZulteWaregem#RAALLaLouvire
#Football#BelgiumJupilerProLeague
Belgium Jupiler Pro League🇧🇪
2026-04-19 11:30 UTC
Gent vs. St. Truiden
Predicted outcome: Draw✅
Predicted score: 2:2
Actual: Draw 0:0
#Gent#StTruiden
2026-04-19 14:00 UTC
Dender vs. Cercle Brugge
Predicted outcome: Cercle Brugge✅
Predicted score: 1:2
Actual: Cercle Brugge 1:4
#Dender#CercleBrugge
2026-04-19 16:30 UTC
Union St. Gilloise vs. Club Brugge KV
Predicted outcome: Union St. Gilloise✅
Predicted score: 2:1
Actual: Union St. Gilloise 2:1
#UnionStGilloise#ClubBrugge
2026-04-19 17:15 UTC
RAAL La Louvière vs. Zulte Waregem
Predicted outcome: Zulte Waregem✅
Predicted score: 1:2
Actual: Zulte Waregem 0:2
#RAALLaLouvire#ZulteWaregem
#Football#BelgiumJupilerProLeague