Для тех кто пишет расширения на 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
🎮GTA VI 19-noyabrda chiqadi — Take-Two endi ko‘chirish bo‘lmasligini aytdi
🔥Take-Two Interactive ma’lumotiga ko‘ra, GTA VI 19-noyabr kuni rasman chiqariladi va bu safar reliz kechiktirilmaydi. Marketing kampaniyasi yozda boshlanadi.
💿 O‘yin raqamli va disk versiyalarida bir kunda sotuvga chiqadi.
➡️#gta#rockstar | Birinchi IT-Blog
🤠 Red Dead Redemption 2-dekabr kuni zamonaviy konsollar va smartfonlarda chiqadi.
🤘 Rockstar studiyasi o‘yinining yangi versiyalarini PS5, Xbox Series X|S, Switch 2, iOS va Android uchun rasman e’lon qildi.
🎮 Yangi avlod konsollarida o‘yin 60 FPS, yaxshilangan teksturalar, HDR qo‘llab-quvvatlashi va 4K gacha aniqlik bilan ishlaydi.
📺 iOS va Android talqinlari haqida texnik ma’lumotlar hozircha berilmagan, ammo o‘yin faqat Netflix obunachilari uchun mavjud bo‘lishi ma’lum qilingan.
🎮🎮🎮 PS4, Switch va Xbox 360 egalari uchun yangilanish bepul bo‘ladi.
➡️#rockstar#rdr#game | Birinchi IT-Blog
🎮 Релиз GTA VI перенесли из-за антипрофсоюзных увольнений.
Это очередной перенос. Раньше обещали 26 мая, но теперь перенесли на 19 ноября 2026 года из-за увольнения 30 сотрудников, желавших организовать профсоюзную ячейку.
С обвинением в адрес Rockstar о неправомерном увольнении сотрудников (юнион бастинг) выступил Независимый профсоюз Великобритании (IWGB).
Согласно президенту организации, 30 октября Rockstar уволила 30-40 человек из своих офисов в Великобритании и Канаде. Отмечается, что все пострадавшие были участниками закрытого Discord-чата IWGB, а также либо состояли в организации, либо пытались сформировать профсоюз внутри Rockstar.
В IWGB назвали это решение «самым вопиющим и безжалостным актом разгона профсоюза в истории игровой индустрии». Организация будет бороться в суде за то, чтобы уволенных сотрудников восстановили в должностях и выплатили компенсации.
Увольнения случились за несколько месяцев до выхода GTA VI — релиз обещали 26 мая 2026 года (уже сдвинули).
Rockstar заявила, что уволила несколько десятков человек, так как они якобы «сливали информацию». Хотя никакие громкие сливы на этой неделе не всплывали.
#Rockstar#GTA#Видеоигры#Профсоюз
💥 Продолжаем отчёт о прошедшем фесте РОК В ЗАЩИТУ ЖИВОТНЫХ 🦮
@rockprotectsanimals_fest
Этот вечер был невероятно душевным!♥️
А особенные эмоции и гордость вызывают наши юные поклонники! 🙏♥️🤗
Пока их не так много) Или же мы просто не знаем сколько вас😄, наши милые, искренние, переживательные друзья! ♥️♥️♥️
Ваши неподдельные и доверчивые чувства покоряют навсегда! 🙏😍
Спасибо, Игорек, что обрадовал своим присутствием в этот вечер🤗🤗 да ещё и в день своего рождения!!! 🎉🎉🎉 Будь здоровым, успешным и счастливым!!! 😍🎉
И отдельное спасибо за твою чудесную компанию!!! 🤗🤗🤗♥️🙏🙏
#роквзащитуживотных#рок#рокмузыка#русскийрок#rockstar#рокфест#выберименя
Кто следит за афишей D'Версия, тот в курсе!!! 🔥
Что уже ЗАВТРА! 🔥
В клубе LIVE STARS 🔥
Состоится ЧТО???
Правильно!
Очередной БАРДАК! 🔥
Он произойдет в кругу СВОИХ!
В кругу друзей!
И конечно ВАС! 💜
Наши диверсанты! 😍
И не только 😉
Приходите поддержать и поздравить С ДНЕМ РОЖДЕНИЯ Ивана Есина! 🔥🤘@essing_bardak
Приходите насладиться драйвовой музыкой! 🔥
И разбавить рабочие будни РОКОМ!!!❗️🖤❗️🖤❗️🖤
Ах да! 🎬
Вас вновь ждёт дует @AnnaLogann и @Verka_Kopylova🔥🔥
И море эмоций!!!
И кайфа!!!🤘
#dверсия#dversiya_al#бардак#rockstar#рокмузыка#лето#русскийрок
💥 Продолжаем отчёт о прошедшем фесте РОК В ЗАЩИТУ ЖИВОТНЫХ 🦮
@rockprotectsanimals_fest
Этот вечер был невероятно душевным!♥️
А особенные эмоции и гордость вызывают наши юные поклонники! 🙏♥️🤗
Пока их не так много) Или же мы просто не знаем сколько вас😄, наши милые, искренние, переживательные друзья! ♥️♥️♥️
Ваши неподдельные и доверчивые чувства покоряют навсегда! 🙏😍
Спасибо, Игорек, что обрадовал своим присутствием в этот вечер🤗🤗 да ещё и в день своего рождения!!! 🎉🎉🎉 Будь здоровым, успешным и счастливым!!! 😍🎉
И отдельное спасибо за твою чудесную компанию!!! 🤗🤗🤗♥️🙏🙏
#роквзащитуживотных#рок#рокмузыка#русскийрок#rockstar#рокфест#выберименя