Для тех кто пишет расширения на 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
🔥 Tycoon Master Showdown Event: Are you in? 🔥
Have you joined the Showdown yet? Make sure to become one of our Tycoon Masters and fully understand how this event works!
🤩Ready to claim your spot as a Tycoon Master? Let’s break it down:
1️⃣ Event format: Short and sweet, split into multiple sessions.
2️⃣ Session duration: Each session has its own timeframe ⏳. After it ends, the leaderboard locks in your rank, but don’t worry—your earnings are safe and sound! 💰
3️⃣ Leaderboard placement: Your building level decides where you land.
4️⃣ Rankings in each Leaderboard: Earn the top spots by stacking up that Cash Earning! 💸
This means if you missed out a session ➡️ No stress—every round is a fresh chance to rise! 🚀
#TycoonMaster#SingSingShowdown
🎤Announcement | Chat | X (Twitter) | Website | Game
⏰ Just a few hours left until Tycoon Master Showdown #2 goes live!
🎤 Are you ready to dominate the leaderboard? 🏆
🗓 Duration: 14:00 UTC Oct 23 - 13:59 UTC Oct 30
Check out the Prize Breakdown across our 5 Leaderboards:
1️⃣MegaBusiness: 100K $KARA
🥇 Top 1: 2 Legendary Karaoke Box NFTs + 10.5 TON
🥈 Top 2: 1 Legendary Karaoke Box NFT + 4.5 TON
🥉 Top 3-10: 1 Epic Karaoke Box NFT each
2️⃣IndustryLeaders: 50K $KARA
🥇 Top 1: 2 Epic Karaoke Box NFTs + 6.3 TON
🥈 Top 2: 1 Epic Karaoke Box NFT + 2.7 TON
🥉 Top 3-10: 1 Rare Karaoke Box NFT each
3️⃣Successful Business: 30K $KARA
🥇 Top 1: 2 Rare Karaoke Box NFTs + 4.2 TON
🥈 Top 2: 1 Rare Karaoke Box NFT + 1.8 TON
🥉 Top 3-10: 1 Uncommon Karaoke Box NFT each
4️⃣Mid-level Entrepreneurs: 20K $KARA
🥇 Top 1: 2 Uncommon Karaoke Box NFTs
🥈 Top 2: 1 Uncommon Karaoke Box NFT
🥉 Top 3-10: 1 Common Karaoke Box NFT each
5️⃣Small Business: 10K $KARA
#SingSingTycoon#KaraokeKing#TycoonMaster
🎤Announcement | Chat | X (Twitter) | Website | Game
🚨 Showdown #2 Update!
Tycoon Master Showdown #2 will be delayed slightly as we finalize the results of Showdown #1.
⏳ No worries, Showdown #2 will officially start in 15 minutes! Get ready! 🎮🔥
#TycoonMaster#Showdown#GamingCommunity
🚨 Leaderboard Update: Tycoon Master Showdown 🚨
The leaderboard is heating up as players race for those top spots! 💰 Who's ready to claim their share of $KARA and those sweet NFT + TON bonuses? 🎁 There’s still time to make your move, so don’t let up! 🏆
👀 Oh, and did we mention a big airdrop is coming soon? Keep those eyes peeled—something massive is on the horizon! 🌟
#TycoonMaster#AirdropAlert#KARA#NFT#SingSingShowdown
🎤Announcement | Chat | X (Twitter) | Website | Game