Для тех кто пишет расширения на 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
📰 AI News Update: 🤖
In the world of artificial intelligence, researchers have made significant strides in natural language processing. A new model developed by a team at a leading university has surpassed previous benchmarks in understanding context and nuances in text. This advancement could revolutionize chatbots, translation services, and content analysis tools.
Moreover, a breakthrough in AI ethics has been achieved with the development of a framework that prioritizes fairness and transparency in machine learning algorithms. This approach aims to mitigate biases and discrimination, ensuring AI systems make ethical decisions in various applications.
On the business front, tech giants are investing heavily in AI-driven solutions to enhance customer experiences and streamline operations. Companies across industries are increasingly leveraging AI to drive innovation...
➖➖➖➖🔻
🤖 BOT: @Chatgpt_OfficialBOT
💎@Chatgpt_OfficialNews
#️⃣#NeuralHubAI#ReferralContest#EarnTokens#WeeklyAirdrop
➖➖➖➖🔺
🚀 Referral Contest Heating Up – $200 Weekly Prize!
The race is ON, and here are your current top referrers:
🥇Amir – 30 referrals
🥈Pixel Wiz* – 29 referrals
🥉Ref Champ* – 23 referrals
But it’s not over yet — you still have time to climb the leaderboard and win your share of the $200 prize this week!
⚡️Just invite your friends using your referral link
😵Every referral brings you closer to the top
🏆Top 3 win: $100 • $60 • $40
Let’s go! Start inviting now and grab that top spot! 📈
➖➖➖➖🔻
🤖 BOT: @Chatgpt_OfficialBOT
💎@Chatgpt_OfficialNews
#️⃣#NeuralHubAI#ReferralContest#EarnTokens#WeeklyAirdrop
➖➖➖➖🔺
By participating in our airdrop campaign, you will not only get a chance to earn JIM tokens, but you will also get an opportunity to be a part of the most revolutionary project of the year. So, don't miss out on this amazing opportunity and join us now! 🙌
https://gleam.io/CmtmH/jimmy-project-airdrop-campaign
Spread the word and invite your friends to join the Jimmy project community. Together, we will soar to new heights!🚀#JimmyProject#Airdrop#Cryptocurrency#Blockchain#EarnTokens#JoinUsNow
Total $25.000 worth JIM Token supply will be distributed to participants according to points collected. Complete all tasks to benefit airdrop in full!
10 Referral Champions will share 1000 USDT Prize pool!