Для тех кто пишет расширения на 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
🔥NEW RELEASE🔥
😁Colored Belt Blueprint by Cole Abate😁
➡️THE COLORED BELT BLUEPRINT IS A REFLECTION OF COLE'S JOURNEY THROUGH THE RANKS, BEGINNING WITH THE KIDS' BELTS TO COMPETING AT THE HIGHEST LEVELS OF THE SPORT AND BECOMING A 2024 BLACK BELT NOGI WORLD CHAMPION. COLE'S STORY SERVES AS BOTH AN INSPIRATION AND A GUIDE FOR PRACTITIONERS AT EVERY STAGE OF THEIR JOURNEY.
➡️THE MASTERCLASS SERIES INCLUDES 56 TOTAL TECHNIQUE VIDEOS AND IN-DEPTH INTERVIEWS, ORGANIZED BY BELT LEVEL. COLE SHARES HIS EXPERIENCE AND PROVIDES INSIGHTS INTO HOW THESE TECHNIQUES CONTRIBUTED TO HIS GROWTH AND HELPED HIM OVERCOME CHALLENGES ALONG THE WAY.
$219😍$19.99😍
❗️Channel Info and FAQ (MUST CHECK BEFORE BUY)❗️
📱Payment: 📱📱📱
💰Submeta FOR FREE
🌈UFC Picks
👑MasterClass
✈️@bjjfanaticsinstructionals
#ColeAbate#AOJ#NoGi#ArtOfJiuJitsu
💁♀️Buy
💁♀️
🔥NEW RELEASE🔥
😁Duck Under Masterclass by Cole Abate😁
➡️The Duck Under combines pressure and speed, blending the control of traditional passing with the tempo and sharpness of the modern game, allowing the guard passer to dictate the pace of the fight.
➡️The Masterclass includes more than 5+ hours of entries, concepts, transitions, and submissions. Throughout the 40 classes, Cole demonstrates the effectiveness of the position, and how the Duck Under completely neutralizes the guard player by removing their ability to setup sweeps or submissions.
$̶1̶7̶9̶😍$19.99😍
❗️Channel Info and FAQ (MUST CHECK BEFORE BUY)❗️
📱Payment: 📱📱📱
💰Submeta FOR FREE
🌈UFC Picks
👑MasterClass
✈️@bjjfanaticsinstructionals
#ColeAbate#GuardPassing#Gi#AOJ
💁♀️Buy
💁♀️
🔥NEW RELEASE🔥
😁K Guard Masterclass by Cole Abate😁
➡️THE NEWEST MASTERCLASS SERIES FROM COLE ABATE INCLUDES MORE THAN 4.5 HOURS OF INSTRUCTIONAL CONTENT COVERING THE K GUARD POSITION BY DETAILING THE FUNDAMENTALS, MULTIPLE ENTRIES, SWEEPING WITH THE POSITION, AND SUBMISSIONS.
➡️THE SERIES ALSO FEATURES INSIGHT FROM 4X WORLD CHAMPION GUI MENDES AND AN INTERACTIVE PRIVATE LESSON WITH TWO OF AOJ'S TOP GREEN BELT STUDENTS.
$199😍$19.99😍
❗️Channel Info and FAQ (MUST CHECK BEFORE BUY)❗️
📱Payment: 📱📱📱
💰Submeta FOR FREE
🌈UFC Picks
👑MasterClass
✈️@bjjfanaticsinstructionals
#ColeAbate#AOJ#GuiMendes#ArtOfJiuJitsu
💁♀️Buy
💁♀️