Для тех кто пишет расширения на 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
It's #EarthHour tonight! Don’t forget to turn off all your lights at 8.30pm today. And because we only have one earth, let’s ensure we use our resources wisely. Read more here: earthhour.org
#ClimateActionSG
Here are some ideas for you to be a part of #EarthHour🌏✨ However you spend it, every small action can make a difference and help #ShapeOurFuture!
Share this with your loved ones 💚
Switch off for #EarthHour at 8:30pm!
But let's not stop there. Let this yearly reminder inspire us to continue making sustainable choices. Your everyday choices matter more than you might think!
Small steps such as adopting energy-saving habits and recycling right can make a difference. Imagine these small acts being amplified by millions worldwide. 🌍💚
#EnergyEfficiency#ReduceReuseRecycle#RecycleRight
Earth Hour 2022 is happening tomorrow, 26 Mar, at 8:30pm! Don’t forget to switch off your lights with the rest of the world.
The iconic act highlights how #EveryActionCounts when it comes to protecting our environment. Check out how you can go beyond the hour to save our planet: www.earthhour.org/take-part/beyond-the-hour
#EarthHour#EarthHour2022
⏰ 29 марта - #Час_Земли!
🌎 Традиционно в последнюю субботу первого месяца весны Беларусь присоединяется к международной экологической акции – #Час_Земли! 🇧🇾, в 17-й раз вместе с миллионами людей по всему миру выключим свет на один час, чтобы задуматься о будущем нашей планеты. 🌍
💡 Акция направлена на то, чтобы акцентировать внимание на вопросах климатических изменений, экономии энергии и экологической безопасности. Это не просто формальность, а уникальная возможность внести свой вклад! 💚
⏰ Присоединяйтесь к #EarthHour:
29 марта с 20:30 до 21:30 выключите освещение и другие не первостепенные электроприборы в знак поддержки ответственного отношения к природе.
🌿 Сделаем нашу планету лучше вместе!
#Беларусь#БелГИЭ#Час_Земли#Экология#СохранимПланету#БерегитеПрироду
🌊 Всемирный день воды: общие течения перемен 🌊
Сегодня, когда мы отмечаем Всемирный день воды и готовимся к Часу Земли, стоит вспомнить, что изменение климата не знает границ. Акватории, соединяющие Россию и Великобританию — от Балтийского моря до Арктики — молча свидетельствуют о нашей общей уязвимости.
Знаете ли вы, что уровень воды в Мировом океане 📈 растет на 3,7 мм в год? Это угрожает как Санкт-Петербургу, так и Лондону. Таяние арктических льдов одинаково тревожит ученых всего мира.
Британцы и россияне оставили богатое научное наследие в области исследования морей. От экспедиций 🚢 Джеймса Кука до работ Степана Макарова — мы вместе создавали принципы современной океанологии. В сегодняшних условиях именно забота о водных ресурсах может стать той платформой, где диалог все еще возможен.
Молодые исследователи по обе стороны глобального диалога понимают: защита водных ресурсов — это не политический вопрос, а ❕необходимость для выживания человечества. В 20:30 сегодня миллионы людей по всему миру выключат свет на #EarthHour. Это символический жест, напоминающий, что перед лицом климатического кризиса мы все в одной лодке.
🔗 Узнайте больше о свежых исследованиях, связанных с возможными последствиями изменения климата в Арктике: https://t.me/ecobellona/2028 и https://www.youtube.com/watch?v=Rn-Mk3_ybto&feature=youtu.be
#WorldWaterDay#ЧасЗемли#EarthHour#КлиматическиеДействия#ClimateAction