Для тех кто пишет расширения на 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
🚀Mozo hits 450K followers! 🎉
A massive thank you to our amazing community for your support! We’re just getting started—stay tuned for more exciting updates, events, and rewards.
Let’s keep growing together! #Mozo
Website|Twitter|Community|Telegram Mini App|News Channel
Have you noticed that #Mozo is trending? 😜
We’re thrilled to see our community growing and embracing the future of decentralized AI!
Website|Twitter|Community|Telegram Mini App|News Channel
Data is more than just numbers—it's a reflection of who we are. The idea that corporations and governments can own or control our data threatens our personal freedom.
It’s time to reclaim your data and take back control. #Mozo
Website|Twitter|Community|Telegram Mini App|News Channel
GM #Mozo Builders🌞
Something exciting is just around the corner. Stay tuned for what’s coming next! 👀
Website|Twitter|Community|Telegram Mini App|News Channel
🚀 Exciting news!
#Mozo is partnering with CocosStudio, the premier platform powered by the world’s No.1 mini-game engine, Cocos Engine!
With a global community of over 1.6 million developers across 203 regions, Cocos Studio leads in mini-game development, incubation, and acceleration.
Together, we’re bridging the gap between Web2 and Web3, empowering developers to seamlessly transition to the decentralized world.
Website|Twitter|Community|Telegram Mini App|News Channel
We’re excited to announce our partnership with koi_protocol, a groundbreaking platform backed by Binance Labs
K.O.I combines the joy of virtual pet care with sophisticated AI competitive elements, all anchored on the Ethereum blockchain. This immersive environment caters to both casual and competitive gamers, enabling them to nurture, train, and trade their virtual companions.
Together, #Mozo and K.O.I will leverage advanced AI to enhance user experiences and drive innovation in the virtual pet gaming space.
Website|Twitter|Community|Telegram Mini App|News Channel
How to drive mass adoption of Web3? Lower the entry barriers for users! It's that simple.
👑 Pepe King is coming! Join #Mozo now and use your Telegram to earn free points. Don’t miss out!
🎮Play Now: https://t.me/mozoai_bot/hub
Website|Twitter|Community|Telegram Mini App|News Channel
1/6 The limitations of centralized control highlight the critical need for decentralized data in LLM development and RAG services. Let's explore why decentralized data is the future.
2/6 Enhanced Data Quality: Decentralization fosters a more inclusive environment where diverse user communities contribute data and perspectives. This enriches the knowledge base for LLMs, improving their performance and accuracy.
3/6 Reduced Biases: By removing centralized control of data sources, we significantly reduce potential biases. This promotes the development of fairer and more ethical AI models that benefit all users.
4/6 Increased Innovation: Decentralization fosters an environment where new ideas and contributions from the broader community can flourish, accelerating innovation in AI and leading to more advanced and powerful LLM models.
5/6 By harnessing the power of decentralized data, #Mozo proposes a novel solution that empowers regular users to actively contribute to the future of AI. This not only unlocks the full potential of LLMs but also fosters a more inclusive and ethically responsible AI development landscape.
6/6 Join us in revolutionizing AI development. Embrace decentralization and help create a more accurate, fair, and innovative future.
Website|Twitter|Community|Telegram Mini App|News Channel
🔥 Exciting news! #Mozo
🌟 New features are now live on the Mozo platform! 🌟
✅Our team is committed to continuous innovation to bring you a better experience.
❤️Explore these new features today and enjoy more efficient and smarter services!
Why #Mozo Matters:
✅Decentralized intelligence, empowering everyone.
✅Collaboration that enhances collective strength.
✅Innovation that revolutionizes industries and lives.
Be a part of Mozo’s journey!
Website|Twitter|Community|Telegram Mini App|News Channel