Для тех кто пишет расширения на 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
Как считать окупаемость команды и перестать терять деньги?
Многие нанимают людей, чтобы расти, но тонут в расходах. Как понять, приносит ли сотрудник прибыль? Разберемся в GroundZero!
👤 Спикер: Ольга Игамратова
Эксперт в управленческом учете (20 лет опыта).
Основатель консалтинга «Balans Plus».
На встрече:
📍 Посчитаем реальную стоимость ваших решений.
📍 Дадим инструменты расчета окупаемости проектов.
📍 Найдем «дыры», куда утекают деньги.
📅 20 февраля (пятница) | 14:30
📍 GroundZero Kitob Olami
Вход бесплатный для резидентов GroundZero
#GroundZero#Бизнес#Финансы
📣 “Izdoshlik” – She’riyat kechasi
📆 17-iyun, 17:00–20:00
📍Ground Zero Kitob Olami, Mustaqilik 6
Yurtimizning taniqli shoirlari Erkin Bozorov, Jontemir Jondor va Bek Ali ishtirokida o‘tkaziladigan “Izdoshlik” kechasiga taklif etamiz!
Jadidlar ruhini zamonaviy ovozlar orqali his eting!Bu kecha – milliy o‘zlik, madaniy uyg‘onish, va ta’lim orqali jamiyat taraqqiyoti haqida she’rlar, fikrlar va ilhom manbaiga aylanadi.
✨ Yosh ijodkorlar va Teach for Uzbekistan do‘stlari uchun ochiq maydon
🎤 Ochiq mikrofon, samimiy suhbat va yangi ovozlar
O‘tmish – ildiz, Kelajak – yo‘l. Ularni bog‘laydigan esa So‘z va Harakatdir.
Biz bilan birga bo‘ling – ruhda uyg‘onish va fikrda erkinlikni his eting.
💬💬💬🗣
📣 «Izdoshlik» – Вечер поэзии
📆 17 июня, 17:00–20:00
📍 Ground Zero Kitob Olami, Мустакиллик, 6
Приглашаем вас на вечер поэзии «Izdoshlik» с участием известных поэтов нашей страны — Эркина Бозорова, Жонтемира Жондора и Бека Али!
Почувствуйте дух джадидов через современные голоса!
Этот вечер станет источником вдохновения, размышлений и стихов о национальной самобытности, культурном пробуждении и развитии общества через просвещение.
✨ Открытая площадка для молодых творцов и друзей Teach for Uzbekistan
🎤 Открытый микрофон, искренние беседы и новые голоса
Прошлое — это корни, Будущее — это путь. Их связывают Слово и Действие.
Присоединяйтесь к нам, чтобы почувствовать пробуждение духа и свободу мысли!
#erkinbozorov#jontemirjondor#bekali#groundzero#kitobolami#teachforuzbekistan
Свитера #до100 €, чтобы пережить зимушку в приподнятом настроении ❄️
#Puma - 5 000 ₽ (-30%) для спортивных
#GroundZero - 6 000 ₽ (-60%) для модных
#Diesel - 7 500 ₽ (-40%) для подписчиц КМ20
#b+ab - 7 500 ₽ (-65%) для тех, кто с изюминкой
#LIUJO - 8 000 ₽ (-30%) для элегантных
#MC2SaintBarth - 8 500 ₽ (-35%) для клёвых
#TWINSET - 8 500 ₽ (-35%) для тех, кому жарко даже зимой
#LIUJO - 8 500 ₽ (-35%) для желающих нарядиться в цвет года Pantone
#ArmaniExchange - 8 500 ₽(-10%) для парного лука с кавказцем