Для тех кто пишет расширения на 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
逆加速主义
Degrowth can work — here’s how science can help[1]
Tech Billionaires Need to Stop Trying to Make the Science Fiction They Grew Up on Real[2]
有趣,最近 Nature 以及「科学美国人」发布的这两篇减速论文章直接成为 /acc 科技圈众矢之的。
Nature 促去增长(Degrowth)卷土重来,减速言论剑指科技亿万富翁们的 TESCREAL 意识形态(超人类主义/外向主义/奇点主义/宇宙主义/理性主义/有效利他主义和长期主义)。Elon 将这视为高于左右派之争的真正战争,即扩张主义者和灭绝主义者之间的战争。X 比较热闹,可以查看 [3] [4] 引用。
引用链接
[1] Degrowth can work — here’s how science can help: https://www.nature.com/articles/d41586-022-04412-x
[2] Tech Billionaires Need to Stop Trying to Make the Science Fiction They Grew Up on Real: https://www.scientificamerican.com/article/tech-billionaires-need-to-stop-trying-to-make-the-science-fiction-they-grew-up-on-real/
[3] The extinctionists at work. https://twitter.com/elonmusk/status/1739480643577196561
[4] e/acc, like Christianity, will thrive as a state persecuted religion.: https://twitter.com/psychosort/status/1738968394781643070
#ACC
"Hoy se celebra el Día del Daiquiri, uno de los cócteles más refrescantes y clásicos del mundo.
Desde su origen en Cuba, el Daiquiri ha evolucionado y ha sido reinventado por cantineros creativos alrededor del mundo.
Hoy, existen infinidad de variaciones de este delicioso cóctel, desde el clásico Daiquiri de ron y limón hasta creaciones innovadoras con frutas, especias y sabores únicos.
Así que, ¡salud y disfruta de un Daiquiri hoy!
#diadeldaiquiri#daiquiri#cocktaillovers#creatividadenelbar#cantinero#cuba#acc
https://www.instagram.com/reel/C9oKc4_Jroh/?igsh=MTU2amYxOTc0MDJwMg==
#Orgulloso
En todas las barras del mundo se crean 🍸cócteles cubanos 🇨🇺, desde Talea (Restaurante Italiano Michelin Guide 2023) en el Emirates Palace de Abu Dhabi:
"Maragato Special"
#cuba#cubanosporelmundo#ACC#asociaciondecantineros#Talea#EP