Для тех кто пишет расширения на 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
📚Book Fair at Green University
📖A book fair was held at the university, bringing together students, faculty, and book lovers in a lively academic atmosphere. The event offered a wide selection of literature, encouraged reading culture, and created a space for meaningful exchange of ideas.
#BookFair#ReadingCulture#StudentLife#LoveForBooks
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube
📚 “Book Brain” Weekly Activities at Green University
Starting this week, weekly activities aimed at promoting reading culture are being launched under the “Book Brain” project.
📖Each week, 3 nominations will be announced:
🏆Best Book Presentation
🔥Most Active Student
📚Top Reader (Most Books Read)
🎁Winners will be selected based on an awarding system and receive special rewards.
🚀If you are passionate about reading and would like to showcase your knowledge, we encourage you to participate.
#GreenUniversity#BookBrain#ReadingCulture#Students#Education __________________
📚“Book Brain” haftalik tadbirlari
Ushbu haftadan boshlab kitobxonlik madaniyatini rivojlantirishga qaratilgan “Book Brain” loyihasi doirasida haftalik tadbirlar yo‘lga qo‘yilmoqda.
📖Har hafta 3 ta yo‘nalish bo‘yicha g‘oliblar aniqlanadi:
🏆Eng yaxshi kitob taqdimoti
🔥Eng faol talaba
📚Eng ko‘p kitob o‘qigan talaba
🎁G‘oliblar maxsus baholash tizimi asosida saralanib, munosib rag‘batlantiriladi.
🚀Agar siz kitob mutolaasiga qiziqsangiz va o‘z bilimlaringizni namoyish etishni istasangiz, ushbu loyihada ishtirok etishga taklif etamiz.
#GreenUniversity#BookBrain#Kitobxonlik#Talabalar#Ta’lim
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube
📚An event was held as part of the Book Brain project at Green University!
⌛During the event, participants were given a detailed explanation of the project’s coin system, which is designed to evaluate engagement and encourage active participation.
One of the most engaging parts of the event was the “favorite book” presentations. Participants shared insights about the books they love, along with their impressions and key takeaways. This created a space for meaningful discussions and inspired interest in new books.
#BookBrain#ReadingCulture#Event#Students#Education#Motivation#Reading __________________________
📚Book Brain loyihasi doirasida Green University'da tadbir bo‘lib o‘tdi!
⌛Tadbir davomida ishtirokchilarga loyiha mexanizmlaridan biri bo‘lgan coin tizimi batafsil tushuntirildi. Mazkur tizim qatnashchilarning faolligini baholash va ularni yanada faol ishtirok etishiga xizmat qiladi.
Shuningdek, tadbirning eng qiziqarli qismi — “eng sevimli kitob” taqdimotlari bo‘ldi. Ishtirokchilar o‘zlari sevib o‘qigan asarlar haqida so‘zlab berib, kitobdan olgan taassurotlari va xulosalari bilan o‘rtoqlashdilar. Bu esa o‘zaro fikr almashish va yangi kitoblarga qiziqishni oshirishga xizmat qildi.
#BookBrain#Kitobxonlik#Tadbir#Talabalar#Ilm#Motivatsiya#Reading#Education
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube