Для тех кто пишет расширения на 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
🚨 Lisk Airdrop Season 1: PoH Stage Powered by Nomis is LIVE
The campaign includes 3 Seasons, the 1st one ends 28th Feb!
How to increase your #Lisk Score?
It's simple: be more active on chain. The more you perform, the higher your Score 🤠
Wait, extra $LSK allocation for all #Lisk Score holders?
YEP! All 10+ Lisk Score holders get:
- 5,000 welcome points
- 15% boost to holders' allocated non-referral airdrop points
👉 How to Get Involved:
1. Head over to
🔗Nomis
2. Mint Your Lisk Score (It should be 10+)
3. Go to Lisk Portal and
🔗Claim Rewards (Make it happen until the 1st Season ends!)
Read The Extended Guide
🔗Here
💠Nomis tApp | X | Discord | YouTube | Check Scores⚖️
We safeguard airdrops. We prove you're human. We build reputation.
We reward YOU for building yours 🪂
Nomis has become the official anti-Sybil tool for the Lisk ecosystem with our #Lisk Rep Score -> 🔗Mint Lisk Score
What does this mean for you?
So-o-o, with your Lisk Score, you can increase up to 15% of your non-referral airdrop points
You contribute—you deserve to be rewarded, remember? Always keep our promises 💜
Stay tuned for more; we've got something else to share 🧘♀️
💠Nomis tApp | X | Discord | YouTube | Check Scores⚖️
#LSK/USDT analysis -
#Lisk is experiencing a corrective pullback, creating a quick scalp opportunity on the buy side. Price is following a trendline. It is expected to bounce off from there and test the 200 EMA resistance level.
TF : 15min
Entry : $0.832
Target : $0.856
SL : $0.817
Today. I added to my experimental portfolio a coin - Lisk#LSK paired with #USDT on the Binance cryptocurrency exchange.
For me, this coin looks attractive for a long-term investment.
🛒Motives for buying#LSK
#Lisk ranks 63rd in the CoinMarketCap rating.
Good fundamental analysis is expected by the end of the year, including the halving on September 28.
The coin was not pumped!
The price is close to the resistance zone $1.6555-1.8727,
Support level is the $1.2840-1.0440.
The price projector points to a rise of $3.30.
I expect to grow from 130% to 180%.
🎯 Fibonacci 10$ experiment.