В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
🎙Der stellvertretende Direktor des Departments der Nichtverbreitung und Rüstungskontrolle des russischen Außenministeriums Konstantin Worontsow:
💬 Die Eskalation im Nahen Osten hat einen unkontrollierbaren Charakter angenommen und stellt einen schwerwiegenden Schlag gegen das Regime der nuklearen Nichtverbreitung dar. Unter dem Vorwand einer angeblichen Sorge um die Nichtverbreitung führen die USA und Israel bereits zum zweiten Mal in den letzten acht Monaten Bombardierungen gegen iranische zivile Nuklearanlagen durch, die unter den Garantien der Internationale Atomenergie-Organisation stehen.
💬 Die Behauptungen über eine angeblich militärische Dimension des iranischen Nuklearprogramms sowie über die Nichterfüllung der Verpflichtungen Teherans im Rahmen des Sicherungsabkommens mit der IAEO dienen als Vorwand für andere Zielsetzungen – den Sturz der legitimen Regierung und die Zerstörung der iranischen Staatlichkeit. Der gegen Teheran entfesselte Krieg untergräbt das Vertrauen in den Vertrag über die Nichtverbreitung von Kernwaffen und könnte andere Staaten dazu veranlassen, nach alternativen, nichtkonventionellen Mitteln zur Gewährleistung ihrer Sicherheit zu suchen. Wir verurteilen entschieden den von den USA und Israel eingeschlagenen destruktiven Kurs und fordern dessen unverzügliche Beendigung.
💬 Wir waren stets vom ausschließlich friedlichen Charakter des iranischen Nuklearprogramms überzeugt. Wir erkennen an, dass Teheran trotz der Angriffe seiner Verpflichtung gegenüber dem NVV treu bleibt.
💬 Als Vertragsstaat und einer der NVV-Depositarstaaten betrachtet Russland als bedingungslose Priorität, die Nachhaltigkeit des Vertrags aufrechtzuerhalten und sicherzustellen. Die Versuche, ihn zur Durchsetzung eigener Vorstellungen über die Weltordnung sowie zur Verfolgung politischer Ziele zu instrumentalisieren, die nichts mit Ziel und Gegenstand des Vertrags zu tun haben, sind inakzeptabel.
🔗Quelle
@RusBotschaft
#NVV#Iran
Aus dem Interview des russischen Außenminister Sergej Lawrow mit dem Nachrichtensender „Al-Arabiya“, 18. Februar 2026
Die USA haben den Iran, seine Atomobjekte, die unter der Kontrolle der Internationalen Atomenergie-Organisation (IAEO) stehen, früher schon angegriffen. Soweit wir wissen, waren die Risiken real. Nach den Angaben unserer iranischen Kollegen, ist die Lage momentan relativ stabil. Leider hat der Angriff der USA und Israels auf den Iran nicht nur physische Risiken verursacht, sondern auch die Autorität der IAEO und des Vertrags über die Nichtverbreitung von Kernwaffen (NVV), der, wie der Iran mehrmals betont hat, für das Land verbindlich bleibt, untergraben. Beispiellos war die Kontrolle der IAEO, besonders in den letzten Jahren, als der JCPoA unterzeichnet wurde. Der Iran wurde kein einziges Mal wegen der Verletzung des NVV oder seines Sicherungsabkommen mit der IAEO überführt.
Wir haben keinen Grund zu zweifeln, dass der Iran die aktuelle Situation auf der Grundlage der Einhaltung und Anerkennung der Prinzipien des NVV beilegen will.
Jetzt wurde in Genf bei der zwischen den USA und dem Iran wiederaufgenommenen Verhandlungen unter Vermittlung von Oman eine Idee aufgegriffen, dass der Iran überhaupt von seinen Rechten auf die Anreicherung von Uran zu allen Zwecken verzichten soll, und zwar entweder komplett, oder sein Raketenprogramm wesentlich einschränken und aufhören, jegliche politischen Kräfte in der Region zu beeinflussen. Dies ist völlig inkorrekt.
Die erste Forderung spricht dem NVV wider. Der Iran hat das Recht auf die friedliche Nutzung von Uran, was immer unter der strikten Kontrolle der IAEO stand. Die Internationale Atomenergie-Organisation hat nie festgestellt, dass das angereicherte Uran zu militärischen Zwecken genutzt wird. Als die USA aus der JCPoA ausgestiegen sind, hat der Iran angekündigt, dass er nicht mehr durch Einschränkungen gebunden ist und fing an, Uran auf einen höheren Grad anzureichern. In der Tat ist dies ein Thema, das besprochen werden sollte, da niemand eine plötzliche Weiterverbreitung von Kernwaffen wünscht. Der Iran erklärt sich bereit, zur rein zivilen Nutzung der Kernenergie unter Aufsicht der IAEO zurückzukehren.
Ich verfolge sehr aufmerksam die Reaktion der arabischen Staaten, der Golfmonarchien darauf, was in der Region geschieht. Niemand will neue Eskalationen. Allen ist klar, dass das ein Spiel mit dem Feuer ist. Die Signale, die die arabischen Staaten nach Washington senden, sind eindeutig: Sie rufen dazu auf, Zurückhaltung zu üben und nach Vereinbarungen zu suchen, die einerseits die legitimen Rechte Irans nicht beeinträchtigen und andererseits – einschließlich durch Überprüfungs- und Kontrollmaßnahmen – garantieren, dass der Iran ausschließlich friedliche Programme im Bereich der Urananreicherung verfolgt.
🔗 Quelle
@RusBotschaft
#Iran#IAEO#JCPoA#NVV