Для тех кто пишет расширения на 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
🪐 In 2021, astronomers detected a record-breaking gamma-ray burst called GRB 211211A, which defied expectations by lasting over a minute—much longer than most "short" bursts thought to arise from merging neutron stars. Observations with space telescopes revealed this unusually long burst likely came from the merger of two neutron stars in a distant galaxy, showing that cosmic collisions can create gamma-ray explosions with a wider variety of durations and energies than previously believed. ✨
#gamma-ray-bursts ⚡#neutron-stars ⚡#cosmic-explosions ⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 In December 2004, the galaxy NGC 1637 in the constellation Eridanus was the source of a rare and powerful cosmic event known as a "short gamma-ray burst." Lasting less than two seconds, these bursts are believed to result from the merger of two neutron stars—ultra-dense remnants of massive stars—which create a flash of high-energy gamma rays strong enough to briefly outshine entire galaxies before fading away in moments. ✨
#gamma-rays ⚡#neutron-stars ⚡#cosmic-explosions ⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 In April 2023, the Hubble Space Telescope captured the fading afterglow of GRB 230307A, a gamma-ray burst originating over a billion light-years away in the constellation Leo. This colossal explosion was traced to the merger of two neutron stars—super-dense remnants of dead stars—that created not only intense gamma rays but also heavy elements like gold and platinum, revealing the dramatic cosmic origins of some of Earth’s rarest materials. ✨
#gamma-ray-bursts ⚡#neutron-stars ⚡#hst⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 The star PSR J0952–0607, about 3,200 light-years away, is the fastest-spinning known pulsar—a type of neutron star that emits beams of radiation—as it completes over 707 rotations every single second. This "black widow" pulsar is slowly destroying its companion star with powerful radiation, a cosmic process that leaves behind only the densest, most compact remnant. ✨
#pulsar⚡#neutron-star ⚡#rotation⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
🚀У SpaceX появился реальный конкурент!
Rocket Lab почти достроила свою "Starbase" для ракеты Neutron🌍🛰
Стартовый комплекс Launch Complex 3 на побережье в Mid-Atlantic Regional Spaceport (NASA Wallops, США) практически готов. Уже начата поэтапная активация систем перед испытаниями, а официальное открытие намечено на следующий месяц. 📆
📡 По снимкам видно:
— высокая стартовая башня
— минимум один стартовый стол
— инфраструктура для тестов и запусков
🧪 Ракета Neutron:
🔹 до 15 000 кг — в одноразовом варианте
🔹 до 8 000 кг — с возвращаемой ступенью
🔁 Rocket Lab прорабатывает возврат первой ступени — в духе SpaceX
💬 Вопрос, «строит ли Rocket Lab свой Starbase», остаётся открытым. Но LC-3 уже выглядит как стратегическая база многоразовых запусков, что явно указывает на большие амбиции компании. Первый запуск Neutron может стать переломным моментом в мировой космической гонке 🌌🔥
#RocketLab#Neutron#SpaceX#Starbase#космос#ракеты#NASA#новости#многоразоваяракета#технологии