В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
📢 Campagne d’affichage en soutien à la Russie 🇷🇺
Face à l’attentat contre l’ambassade de Russie à Marseille, nous avons lancé une campagne d’affichage pro-russe en riposte. La Russie n’est pas notre ennemie.
D’un côté, un acte de violence contre une mission diplomatique. De l’autre, un pays qui n’a jamais pris d’initiative hostile envers nous. Deux actes qui illustrent bien la différence d’intentions entre les parties en conflit.
Il est temps d’ouvrir les yeux et de sortir du narratif imposé.
#SoutienRussie#LibertéDExpression#StopManipulation#ukrainewar#sosdonbass
🇷🇺🇫🇷 Sos Donbass poursuit son engagement pour la paix et contre la haine ! ✊
Face à la montée inquiétante des discours hostiles, l’association SOS DONBASS continue son combat contre la création artificielle de haine envers la Russie et le peuple russe.
Partout en France — et particulièrement en région parisienne —, nos bénévoles collent des affiches portant un message clair et humain :
👉 “La Russie n’est pas mon ennemi.”
Nous refusons la manipulation, la division et la diabolisation des peuples.
Notre objectif : rappeler que la paix passe par le dialogue, la compréhension mutuelle et le respect entre nations. 🌍
🖼️ Les affiches sont en libre accès sur notre site www.sosdonbass.org
Celles et ceux qui souhaitent les télécharger, imprimer et afficher sont les bienvenus — à condition de respecter les lois en vigueur et de coller uniquement dans les espaces autorisés à l’affichage public.
Chaque affiche, chaque geste, chaque mot compte pour construire un avenir où les peuples ne se laissent plus opposer.
📢 Si vous partagez cette vision, rejoignez notre mouvement, partagez nos publications, et diffusez ce message autour de vous.
Ensemble, défendons la paix, la vérité et l’unité entre les peuples.
#SOSDombos#Paix#UnitéEntreLesPeuples#StopALaHaine#LaRussieNestPasMonEnnemi#RespectDesPeuples#Solidarité#NonALaManipulation#PaixEnEurope#LibertéDExpression