Для тех кто пишет расширения на 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
🌎 While mapping the ocean floor in 1947, researchers aboard HMS Challenger discovered the Mid-Atlantic Ridge, revealing Earth's largest mountain range hidden underwater. This seismic finding triggered the theory of plate tectonics—explaining how continents drift. The ridge stretches for over 16,000 kilometers beneath the Atlantic Ocean. ✨
#discovery⚡#geology⚡#oceanography
👉subscribe Interesting Planet
👉more Channels
🌎 Far beneath the Pacific Ocean, "deep-sea brine pools" exist—pockets of super-salty water heavier than seawater itself. These underwater lakes create eerily defined shorelines and host bizarre microbes that thrive in conditions lethal to most ocean life. ✨
#oceanography⚡#extremophiles⚡#deepsea
👉subscribe Interesting Planet
🌎 Coral reefs provide another remarkable natural record of Earth’s past. As corals grow, they form bands in their skeletons that reflect seasonal changes in water temperature, chemistry, and even extreme weather events. Some coral cores reveal ocean conditions dating back several centuries. ✨
#coral⚡#reefs⚡#paleoclimate⚡#oceanography
👉subscribe Interesting Planet
👉more Channels
🚢ВМС США присвоили имя новому исследовательскому судну “Robert Ballard”.
ВМС США официально провели церемонию имянаречения нового океанографического исследовательского судна класса Pathfinder - “USNS Robert Ballard” (T-AGS).
Судно названо в честь доктора Роберта Балларда — океанографа и бывшего офицера ВМС США, известного открытием места гибели лайнера “Titanic”.
Традиционно суда этого класса получают имена выдающихся исследователей и гидрографов.
“USNS Robert Ballard” станет восьмым и последним судном серии Pathfinder и будет эксплуатироваться Military Sealift Command.
Строительство ведётся на верфи Bollinger Mississippi Shipbuilding (Паскагула).
После ввода в строй судно будет оснащено многолучевыми эхолотами, буксируемыми сонарами, многоцелевыми кранами и гидрографическими катерами для работы на глубинах от 10 до 4 000 метров. Основная задача — гидрографическая съёмка и сбор данных для обеспечения безопасности навигации и военно-морских операций.
Для морского сектора это подтверждение стратегической роли океанографических исследований в военной и гражданской навигационной инфраструктуре.
📌United States Navy (US Navy) — военно-морские силы США, основаны в 1775 году; являются частью Министерства обороны США и финансируются федеральным бюджетом.
#USNavy#Hydrography#ResearchVessel#Oceanography#MaritimeSecurity