Для тех кто пишет расширения на 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
🌎 The Zone of Silence in northern Mexico baffles visitors—radios and compasses fail, and strange meteorites have fallen here. Scientists suspect unusual magnetic minerals and local geology disrupt signals, making this desert a hotspot for unexplained natural phenomena. ✨
#mystery⚡#geology⚡#magnetism
👉subscribe Interesting Planet
🌍 Earth has a layered structure: a thin crust, a solid mantle, a liquid outer core, and a solid inner core. The deep core’s movement creates the planet’s magnetic field, vital for life. ✨
#planet⚡#geology⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Earth’s outer core is made of liquid iron and nickel and creates the planet’s magnetic field. This powerful shield protects life by deflecting harmful cosmic and solar radiation. ✨
#planet⚡#geology⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Auroras can ripple like curtains or spiral in arcs because solar particles follow Earth's magnetic field lines. Their shifting shapes reveal invisible patterns high above our polar regions. ✨
#aurora⚡#atmosphere⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Auroras glow when charged particles from the Sun hit Earth's magnetic field, making gases like oxygen and nitrogen light up green, red, and even rare purple or blue in the night sky. ✨
#aurora⚡#magnetism⚡#atmosphere⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌎 Hidden beneath Jupiter’s clouds, the planet’s metallic hydrogen layer creates an enormous magnetic field. This magnetic field is about 20,000 times stronger than Earth’s and traps intense radiation belts. ✨
#Jupiter⚡#planets⚡#magnetism
👉subscribe Interesting Planet
👉more Channels
🪐 Spanning more than 300 light-years, a vast radio structure known as the "Orion Spur Radio Arc" weaves through our segment of the Milky Way. Detected by the LOFAR radio telescope, this arc is composed of incredibly energetic electrons spiraling around magnetic fields, revealing a hidden backbone of cosmic magnetism threading through our stellar neighborhood. ✨
#MilkyWay⚡#magnetism⚡#radio
👉subscribe Universe Mysteries
🌎 The mysterious Whistler waves are very low-frequency radio signals generated by lightning. They travel along Earth's magnetic field lines and can be converted to eerie whooshing or whistling sounds when played back as audio. These signals were first recorded by radio operators during World War I. ✨
#lightning⚡#magnetism⚡#radio
👉subscribe Interesting Planet
🪐 In the constellation Lynx lives an unusual star known as HD 45166, which has an incredibly strong magnetic field—about 43,000 times greater than Earth’s. This rare "magnetized helium star" shrouds itself in a thick, fast-moving wind of gas, and its unique magnetic properties provide astronomers with a rare look at how intense magnetism can shape the life and appearance of stars. ✨
#unusualstars⚡#magnetism⚡#astronomy⚡#nasa⚡#galaxy⚡#stars⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
🌍 Earth’s core spins slightly faster than its surface, a phenomenon called “super-rotation.” This hidden motion helps maintain our magnetic field, vital for navigation and life. ✨
#planet⚡#core⚡#magnetism⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Earth's magnetic field acts like a protective shield, deflecting harmful solar wind and cosmic rays. This invisible force helps preserve our atmosphere and supports life on the planet. ✨
#magnetism⚡#protection⚡#atmosphere⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🪐 In the constellation Monoceros, the star HD 45166 is an unusually magnetic massive star with a surface magnetic field nearly 43,000 times stronger than Earth's. This extreme magnetism shapes the flow of gas around the star, producing powerful outflows and making HD 45166 a rare laboratory for studying the effects of magnetism on stellar evolution. ✨
#stars⚡#magnetism⚡#Monoceros⚡#nasa⚡#galaxy⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries