Для тех кто пишет расширения на 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
Премьер-министр Сербии Джуро Мацут сегодня провел переговоры с новым послом Украины в Белграде Александром Литвиненко
Глава правительства заявил, что Белград с особым вниманием следит за событиями на территории Украины и сложной гуманитарной ситуацией, касающейся гражданского населения.
«Сербия, в пределах своих возможностей, продолжит направлять гуманитарную помощь уязвимому населению в виде финансовых ресурсов, медицинского и электроэнергетического оборудования», – добавил Мацут.
Литвиненко поздравил премьер-министра с прошедшим Днём государственности страны и поблагодарил Сербию за все, что она сделала для украинского народа.
#Beograd#Srbija#Ukrajina
@NewsSerbia
На улице Косовской в Белграде местные жители встали перед экскаватором, пытаясь остановить строительные работы
Дорогу собираются сделать двусторонней, но жители заявляют, что им практически ничего не известно о проекте – нет доступной документации, чёткого плана и оценки последствий его реализации.
По их мнению, улица и без того перегружена транспортом. Они требуют от властей ответы на вопросы о шуме, загрязнении, вырубке деревьев и сокращении парковочных мест.
#Beograd#Kosovska#protest
@NewsSerbia
Дорожная сводка, 31 марта Белград: Дорожные работы и ограничения
• Novi Beograd (Tošin bunar / Dr Žorža Matea): Продолжается полное закрытие участка улицы Dr Žorža Matea до 9 апреля. Также ограничено движение на Tošin bunar (между Pariske komune и Džona Kenedija).
• Autokomanda (M11): Санация опор путепровода. До 24 мая закрыта крайняя правая полоса в сторону Нового Белграда.
• Takovska (Centar): Ремонт дорожного полотна продолжается. Улица частично раскопана, работы продвинулись ко второй фазе в сторону Trg Nikole Pašića.
• Surčin (Trg Zorana Đinđića): Работы на водопроводе и канализации (фазы 1B и 2). Изменен режим движения на центральной площади Сурчина.
⚡️ Отключения.
Сегодня запланированы масштабные отключения электричества, которые могут затронуть работу светофоров:
• Vračar (08:30 – 10:30): ул. Kneginje Zorke и Svetog Save.
• Zemun / Novi Beograd (08:30 – 13:30): улицы Aleksandra Dubčeka, Bulevar Mihajla Pupina (18-24), Džona Kenedija и Palmira Toljatija.
• Zvezdara (09:00 – 13:30): Район улиц Vojvode Bogdana, Zahumska и Ćirila i Metodija.
🚍 Изменения в общественном транспорте
• Автобусы: Маршруты 72, 74, 75, 76, 77, 708 и 72N продолжают ходить в объезд закрытых участков в Новом Белграде.
• Троллейбусы: На линии 40 временно отменена остановка «Glavna pošta» из-за работ в Таковской.
• Трамваи: Маршруты 7L, 9L и 13 всё еще следуют по измененным путям из-за работ на мосту над ул. Antifašističke borbe. Подписывайтесь на @roadgoserbia чтобы быть в курсе событий. #Белград#roadgosrbia#дорогибелград#сербия#beograd
Дорожная сводка, пятница 3 апреля 📅🚗.
🚧 Дорожные работы:
• Tošin bunar: ремонт между Pariske komune и Džona Kenedija вызывает задержки ⏳.
• Autokomanda (M11): закрыта правая полоса к Новому Белграду; пробки со стороны Južni bulevar 🚗🐢.
• Takovska: затруднен проезд у Trg Nikole Pašića. Объезд: Starine Novaka или Ruzveltova 🛣️.
• A1 (Bubanj Potok): ожидается трафик на пункте оплаты. TAG-устройства для грузовиков (IV категория) работают, возможны замедления 🚛.
• Ralja (I B 14): работы на электросетях у перекрестка для Kolare в светлое время ⚡☀️.
🚍 Транспорт:
• Автобусы 72, 75, 76, 77, 708 и A1: объезд на Тошином Бунаре 🔄.
• Трамваи 7L, 9L, 13: измененные схемы из-за работ на путепроводе над ул. Antifašističke borbe 🚋. Подписывайтесь на @roadgoserbia будьте в курсе событий. #дорогибелград#beograd#жизньвсербии#roadgosrbia
⚡️БЕОГРАД — Обдукциони налаз о смрти студенткиње Филозофског факултета показао је да је смрт настала услед повреда приликом пада
Обдукциони записник са токсиколошком анализом показао је да није детектовано присуство лекова или других психоактивних супстанци.
** Више јавно тужилаштво у Београду наставља предистражни поступак поводом смрти и околности под којима је дошло до паљења пиротехничких средстава.
→ Линк: /t.me/borbeni_efektivi
→ Извор: /t.me/borbeni_efektivi
🪖#Beograd〣#FilozofskiFakultet〣#smrt〣#obdukcija〣#povrede〣#toksikologija〣#istraga〣#pirotehnika
🇷🇸https://t.me/borbeni_efektivi