Для тех кто пишет расширения на 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
#AR#站点免费#站点公告
Hey guys,
As you can see, we're back on track but still working on some issues. Bear with us as we iron these things out.
Global Freeleech will be ending on Monday.
Thanks
Edit: If you have the means to be a racer, please contact phiend
————
#HappyFappy#站点免费
因为 38 妇女节,站免两天。还剩 1 day, 16 hours。
————
#HeBits#站点免费#开放注册#综合公告
HeBits 迎来了它的 16 岁生日,开注、站免 5 天,在这期间每天还可以领取一份每日礼物。
————
#PTP#站点公告
Just wanted to put out a quick message to let everyone know we're going to be addressing some lingering IRC issues in the next few days, and in the meantime IRC is down while we sort them out.
We're also aware of some site features (I.E. IMDB not pulling properly) not working properly, these will addressed very shortly.
Edit: They're fixed! Let us know if anyone runs into any lingering isues.
We apologize for the inconveniences, we hope to have everything sorted out by the end of the weekend at the earliest.
#没用的外站信息
可能会被群友说是没用的外站信息,就合并到一起发了。
————
#SC#SecretCinema#站点公告
We have a new IRC channel that we actually control.
Server: irc.brokensphere.net:6697
Channel: #secretcinema
Use site nick especially if you require assistance.
Please don't use the #sc channel for assistance or help with your account as staff will no longer idle in this chat.
TLDR; SC 更换了 IRC 的域名。
————
#shazbat#站点公告
2024-02-25 - Webchat broken
As you might have noticed, the webchat is a bit broken. We are working on fixing it, but it might take some time.
If you want a good chat experience, join IRC (see the help pages).
TLDR; webchat 炸了,要聊天就来 IRC。
————
#ABN#站点免费
站免还剩 8 天+
————
#HeBits#站点免费
站免还剩 1 天+
————
#AcidLounge#站点公告
Hey all,
We had over 10 accounts that someone took advantage of maybe from stolen database from another site. These peeps have now lost there account.
So please don't use the same password as other sites maybe consider using Two Factor Authentication (2FA) which can be setup in your settings.
You can use an app like Authy
https://authy.com/what-is-2fa/
TLDR; 有人号被盗了,记得开 2FA。