Для тех кто пишет расширения на 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
📩#DOTUSDT 30m | Mid-Term
📉Long Entry Zone: 7.069-6.792
🎯Accuracy of this strategy - 88.26%
- ⏳ - Signal details:
Target 1: 7.126
Target 2: 7.182
Target 3: 7.239
Target 4: 7.408
_____
🧲Trend-Line: 6.792
❌Stop-Loss: 6.737
💡After reaching the first target you can put the rest of the position to breakeven
Now is the moment to determine whether the bulls are ready to charge or if the bears will take over. Here's what you need to know:
#DOTUSDT is showing promising signs of a bullish continuation from the demand zone around $4.000. The falling wedge formation we've been tracking has broken to the upside, and momentum is building within this crucial area. Should this momentum persist, we could be on the brink of a significant bullish surge.
#DOTUSDT
💢 shows that it is ready for an upward movement after the sharp drop it had and the correction movement it made recently. But its corrective movement is not over yet and we expect the 3.822-3.812 range to fall.
And after that, it can move upwards, which should break its downward trend, and the target that can be used for this upward movement is 4.282 - 4.717 - 5.097.
#DOTUSDT💢 Polkadat is in a descending channel that has reached an important support area on the daily chart.
I think there is a good buying opportunity, you can prepare yourself for a possible profit of 50% by buying at this level.
---
Polkadot находится в нисходящем канале, который достиг важной зоны поддержки на дневном графике.
Я думаю, что это хорошая возможность для покупки, вы можете подготовиться к возможной прибыли в 50%, купив на этом уровне.
---
پولکادات در یک کانال نزولی قرار دارد که به یک منطقه حمایتی مهم در نمودار روزانه رسیده است.
فکر میکنم فرصت خرید خوبی وجود دارد، میتوانید خودتان را برای احتمال سود ۵۰٪ با خرید در این سطح آماده کنید.
---
Polkadot, günlük grafikte önemli bir destek alanına ulaşmış olan düşen bir kanal içinde bulunuyor.
Bu seviyeden satın alarak %50'lik olası bir kâr için kendinizi hazırlayabilirsiniz; bence bu iyi bir alım fırsatı.
📩#DOTUSDT 30m | Mid-Term
📈Long Entry Zone: 1.233-1.191
🎯 - Strategy Accuracy: 87.54%
Last 5 signals: 80.0%
Last 10 signals: 80.0%
Last 20 signals: 87.5%
⏳ - Signal details:
Target 1: 1.243
Target 2: 1.253
Target 3: 1.263
Target 4: 1.292
_____
🧲Trend-Line: 1.191
❌Stop-Loss: 1.181
💡After reaching the first target you can put the rest of the position to breakeven
#ID20000037761