Для тех кто пишет расширения на PyQt/PySide для CG-софтов.
Когда я только начинал писать тулзы под Maya (тогда еще версия 2010-2011) мне приходилось ручками ставить PyQt4 под Maya. Даже написал мануалы по установке на своём сайте. Но потом стал доступен из коробки PySide и позже он обновится до PySide2. Для некоторых систем была поддержка PyQt5.
И как простому разработчику поддерживать этот зоопарк? Ведь хочется чтобы тул работал на любой версии (вы тоже делали модуль что-то типа import_qt.py?😁)
На помощь приходит проект Qt.py который поставил себе цель унифицировать использование Qt-биндингов вне зависимости от среды где запускается код. Те, кто давно пишут на Qt, скорее всего знают этот проект.
Он стал стандартом для CG-индустрии и используется в топовых студиях и проектах.
Qt․py помогает запускать один и тот же код на разных платформах с разными вариантами Qt-библиотек. Это может быть как интеграция в CG-софт, так и переносимость стендалонов между разными платформами с разными версиями Python.
Я решил рассказать о некоторых особенностях работы с этой библиотекой.
Сегодня о том, как установить и использовать Qt․py и что это вам даёт.
Установка
pip install Qt.py
Чтобы начать использовать Qt․py в коде достаточно заменить импорт вашего варианта Qt-биндинга на Qt․py
from [PySide|PyQt4|PySide2|PyQt5] import QtWidgets
=>
from Qt import QtWidgets
Теперь ваш код будет поддерживать любой вариант биндинга Qt в Python.
При этом не потребуется использовать if-else конструкции под разные версии. Все вызовы теперь одинаковы.
Всё что нужно сделать, это написать его по правилам PySide2. Именно эта версия была взята за основу.
Приоритет импорта такой:
1. PySide2
2. PyQt5
3. PySide
4. PyQt4
Что именно загрузилось можно посмотреть в переменной __binding__
>>> import Qt
>>> Qt.__binding__
'PySide2'
Приоритет имопрта можно изменить через переменные QT_PREFERRED_BINDING и QT_PREFERRED_BINDING_JSON. Причем под каждый проект оверрайды можно настраивать индивидеально.
#qt#libs
#Ethiopia: Report warns of arbitrary detentions, growing restrictions on media in Addis Ababa
-------
A new report by Human Rights First has raised concerns over alleged arbitrary detentions and increasing restrictions on media in #Addis_Ababa, particularly during periods of major international events.
The report, titled “Situational Analysis of Human Rights in Addis Ababa,” states that security forces carried out “pre-emptive detentions” across several parts of the capital without due process.
According to the findings, detentions were recorded in sub-cities including #Yeka, #Bole, and #Akaki_Kality, where individuals were held for more than a week without being charged or appearing before court.
In addition, the report highlighted what it described as a growing pattern of restrictive actions against media between 2025 and early 2026.
Read more: https://addisstandard.com/?p=55925
News: Report tracks #UAE-linked cargo flights to #Ethiopian military base amid regional power struggle
A cargo aircraft previously linked to the supply of weapons to armed groups in #Sudan has conducted multiple flights to Ethiopia in recent weeks, according to an exclusive investigation by the UK-based outlet Middle East Eye (MEE), raising questions about Ethiopia’s role in intensifying regional rivalries tied to the war in Sudan.
MEE reported that an Antonov An-124 cargo plane operated by UAE-based Maximus Air, and allegedly linked to Emirati military logistics, made repeated flights between #Abu_Dhabi and #Harar_Meda airbase, the main base of the Ethiopian Air Force.
Flight-tracking data reviewed by the outlet shows at least four trips to Harar Meda between 3 and 17 January, including one flight that later continued to Addis Abeba’s #Bole International Airport before departing for #Europe and #Asia.
While the purpose of the flights remains unclear...
Read more: https://addisstandard.com/?p=54681
News: #Ethiopian Airlines confirms the purchase of nine #Boeing 787-9 Dreamliner, partners with Bridgestone on airport safety
Ethiopian Airlines Group has confirmed the purchase of nine Boeing 787-9 #Dreamliner aircraft while launching a collaboration with #Bridgestone Corporation to enhance airport safety at Addis Ababa #Bole International Airport.
The airline said the newly ordered Boeing 787-9 jets, scheduled for delivery between 2031 and 2033, will support network expansion and strengthen international connectivity. This order follows
Ethiopian Airlines Group CEO #Mesfin_Tasew said the order demonstrates the carrier’s strategy to modernize its fleet with advanced, fuel-efficient aircraft while improving customer service.
Boeing’s Vice President of Commercial Sales and Marketing for Africa, #Anbessie_Yitbarek, described the 787 Dreamliner family as a “game-changer” for connecting Africa with global markets.
In parallel with its fleet expansion,...
Read more: https://addisstandard.com/?p=54671