Для тех кто пишет расширения на 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
🤩1,000,000 Users in Gamety's Telegram App! 👍
Celebration prize: 250$
Show your love in comments on the Tweet, tag 2 friends and post your BNB wallet. 🔥
This massive milestone is just the beginning, so join the excitement and earn your share of 17.5 Million $GTY 💎 tokens with our gamified Airdrop campaign!
➡️ Go to @GametyApp_Bot now!
Next Step…bring our user #onchain👍
Stay tuned for more big news!
Tweet 🔗:
https://x.com/gametyio/status/1795435819529802165
📎Important Links:
Website | X | Chat | Discord | Announcement | Youtube
⚖️Unlock the advantages of advanced onchain analytics with 10 Bonus Free Days exclusively for Multichain Score holders!
Partnering up with ArbitrageScanner, an ecosystem of #onchain analysis and #cryptocurrency arbitrage products, to deliver more meaningful degen experience for the folks with solid onchain reputation 💪
P.s. ArbitrageScanner is already powering the Nomis Leaderboard—check it out to see how it works!
👇Click the button below to check the offer details and claim your Free Days on available subscriptions!
💠Nomis tApp | X | Discord | YouTube | Check Scores⚖️
🚨MVB 8 Celebration Campaign IS NOW LIVE!
For sure, the smartest move to leverage your brand-new BNB Rep Score which has just launched on BNB Chain by #Binance⚡️
Proud to become a part of BNB Chain ecosystem and share this milestone with YOU in our new campaign linked to our participation in the Accelerator!
🗓1-WEEK duration:
💵Unlimited reward pool starting at $5K
🌱10+ BNB Chain Eco projects w/ perks
❗️ The Score determines your profit! Explore partner planets, complete tasks, and claim your well-deserved rewards — it's that simple!
Your #BNB Score is a power — cause its all about your #onchain reputation on BNB Chain 🌐
Get it, Leverage it, Be Rewarded for holding it 💜
And Stay Tuned for Next Thrilling News 🫵 (We're preparing another cash giveaway 🤑)
🎉 Hello, 2025, from SpotOnChain!
Thank you for an incredible 2024. Big things are coming this year, including the launch of our AI-powered trading agent and the highly anticipated $SOCAI token. 🚀
Here’s to redefining your crypto journey together in 2025! 🥂
#OnChain#SpotOnChain#SOCAI
$ONSING ~ the protective big brother of $PUNCH 🛡️🔥
Solid structure.
Higher highs.
Clean continuation.
Early participants secured partials and continue to ride the trend.
This token builds sustainably, not just pumps.
3AZAjwZZCe8Jf4yccheZ5Z1c2SPEPyoYJHFT3Le2pump
Big brother energy.
#Memecoins#Solana#Crypto#OnChain#Teslacalls🚀
Create/Import your #BASE wallet on #TokenPocketExtension! BuildOnBase
✅In-extension #Base Tokens Cross-chain Swap.
✅Connect with third-party websites in a snap.
✅Smoothly operation and New Interface experience.
👇Add #TokenPocketExtension to your Chrome
https://chrome.google.com/webstore/detail/tokenpocket/mfgccjchihfkkindfppnaooecgfneiii?hl=en
#onchainsummer#OnChain#BASE
【Details】https://twitter.com/TokenPocket_TP/status/1691758198003532191
【Powered By】Crypto Box
🎉 Milestone Alert! 🎉
SingSing has officially surpassed 1.2 MILLION on-chain transactions! 🚀
Thank you to our incredible community for making this possible. Here’s to many more milestones ahead! 💪✨
Read more and open treasure at: X Post
#SingSing#Blockchain#Milestone#OnChain#CryptoCommunity