Для тех кто пишет расширения на 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
— A biting frost over Istra and the New Jerusalem Monastery. Russia, you are beautiful (and refreshingly crisp)!🥶✨
📸Photo:@alexander_teleshov_photo
📍Coordinates:Yandex Maps
#MoscowRegion
🏙️Beyond Moscow🏔️
Constructivism in Kolomna: the city’s avant-garde architecture has been remarkably well preserved! 🏙️
At the turn of the 1920s–1930s, Kolomna experienced rapid industrial growth. On its outskirts, new workers’ settlements emerged — built according to the cutting-edge architectural ideas of that era.
📸 Photo: @ted_ns
📍Coordinates: Yandex Maps
#MoscowRegion
🏙️Beyond Moscow🏔️
The Church of the Sign of the Blessed Virgin Mary in Dubrovitsy – A Baroque Gem Outside Moscow
Tucked away just outside Moscow, the Church of the Sign of the Blessed Virgin Mary in Dubrovitsy is unlike any other church in Russia — or the world.
Instead of the traditional onion domes and painted frescoes, this masterpiece dazzles with intricate stone carvings, high-relief sculptures, and a richly decorated interior that feels more like a baroque palace than an Orthodox church. Step inside, and you won’t see the familiar walls of icons and murals — instead, the sheer abundance of sculpted ornamentation leaves you breathless.
The church was completed around 1699 under Prince Boris Alexeyevich Golitsyn, who was a tutor to Peter the Great. Its exact architect remains a mystery. What we do know is that craftsmen from the Kremlin Armoury in Moscow worked alongside nearly 100 Italian sculptors and carvers, brought in especially for this ambitious project.
When the church was consecrated in 1704, Tsar Peter the Great himself attended the ceremony with his son — a sign of just how important this unusual creation was to the Russian Empire.
Today, the Church of the Sign remains a one-of-a-kind monument: a fusion of Russian tradition and Western European baroque, standing as a true marvel of its time.
📸 Photo: @elena_krizhevskaya
📍Coordinates: Yandex Maps
#MoscowRegion
🏙️Beyond Moscow🏔️
Off-Duty Police Officer Disarms Aggressor Armed with Two Knives in Moscow Region
In Pushkinsky district, an off-duty officer stopped a drunk man wielding two knives. Despite threats and a chest injury, the officer used a sambo technique to subdue the attacker and called for backup. The victim received medical aid and is in stable condition. A criminal case has been opened for violence against authority.
“Risking their lives, my colleagues fight crime even off duty,” said Irina Volk, Ministry of Internal Affairs.
#Russia#Police#Safety#MoscowRegion
The main news of Russia and the world ishere.
Мусаелян Марьяна 02.11.2021
(диагноз СМА 1 тип).
Сбор на Виброплатформу Галилео S35 на сумму 650.000 рублей.
Друзья, сегодня мы хотим познакомить вас с нашей новой подопечной Марьяной Мусаелян. Диагноз малышки – СМА 1 типа. Раньше он звучал как приговор. Родители узнали о тяжелой болезни дочери, когда девочке было 8 месяцев, до этого времени она росла и развивалась абсолютно нормально.
После подтверждения диагноза семья незамедлительно обратилась в фонд «Круг добра», который помог обеспечить лечение Марьяны самым дорогим в мире препаратом «Золгенсма», восстанавливающим «поломанный» ген.
Тем не менее, для полного восстановления, ребенку, помимо лечения, необходима постоянная реабилитация, одним из наиболее эффективных средств, рекомендованных Марьяне лечащими врачами, является виброплатформа Галилео.
Ее технология эффективно и с доказанным успехом используется для реабилитации детей с диагнозами ДЦП и СМА, для восстановления после травм, развития и совершенствования координации.
Платформа заменяет трех специалистов и дает возможность заниматься самостоятельно дома.
Стоимость виброплатформы для многодетной семьи Марьяны непосильна, но объединив усилия, вместе мы сможем помочь малышке на ее пути к полноценной и здоровой жизни.
Оказать посильную помощь в приобретении виброплатформы для Марьяны можно любым удобным способом: 🧚♀️
🔹 Отправить СМС на номер 3⃣4⃣3⃣4⃣ с текстом ВАЖНЫЕ 500, где 500 – любая сумма пожертвования.
🔹Больше способов помочь на сайте:
https://fond-vl.ru/campaign/musaelyan-maryana/
🔹Также можно осуществить перевод на указанные реквизиты:
Сбербанк
Р/с: 40701810540000000720
ИНН: 5044120150
БИК: 044525225
Назначение платежа: Мусаелян Марьяна
🔹А еще вы можете поделиться этим постом в своих социальных сетях, чтобы как можно больше людей смогли помочь малышке Марьяне💙
#Виброплатформа#Галилео#Вибротренажер#Московскаяобласть#пожертвование#благотворительность#помогатьлегко#творидобро#доброеутро#реабилитация#детскиезанятия#помочьребенку#многодетнаясемья#многомама#Волоколамский_район#Кашино#благотворительныйфонд#фонд#помощьрядом#важныелюди#важенкаждый#СМА#реквизитыпомощи#посильнаяпомощь#Подмосковье#нашеподмосковье#Москва#moscowregion