Для тех кто пишет расширения на 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
r/ #unexpected
Самое ХОЛОДНОЕ место на Земле — новое видео с южного полюса Антарктиды
Температура здесь может опускаться ниже -60 градусов цельсия. Вокруг бесконечная белая пустота, полгода длится день, а затем полгода будет тьма и туман. Никаких деревьев, насекомых и привычной жизни — только лёд, ветер и абсолютная тишина.
Это одно из самых сухих мест на планете, настоящая ледяная пустыня. Всё необходимое для жизни доставляется по воздуху, а небольшие команды зимуют здесь в полной изоляции месяцами.
r/ #unexpected
Вот вам и будущее с искусственным интеллектом: на одной из улиц Сан-Франциско беспилотник угодил в автобус
Иронично, что именно в этот момент проходили парни с конференции по нейросетям и автоматизации.
Они сначала расцепили беспилотник с автобусом, а потом поправили баг, добравшись до режима разработчика у Waymo.
r/ #unexpected
Так выглядит один из бюджетных компьютерных клубов в столице Филиппин — ПК стоят буквально на улице в трущобах, вокруг грязь и мусор
При этом посетители почти не играют: вместо этого смотрят YouTube и листают соцсети.
r/ #unexpected
Неловко вышло: Иран похвастался своей робототехникой на выставке Kish Inox Tech Expo 2025, но есть нюанс — настоящих роботов там не было
Вместо киборгов были актёры в костюмах, которые выдавали себя за машины.
r/ #unexpected
Вот и будущее наступило: Coca-Cola частично заменит дизайнеров и копирайтеров нейросетями
Это первая компания, официально огласившая партнёрство с искусственным интеллектом.
Для поиска дизайнерских решений будут использовать DALL-E, а для написания необычных рекламных лозунгов — ChatGPT.
r/ #unexpected
Вы точно не собирались плакать на этих выходных: на Reddit вспомнили отрывок из документального фильма 2007 года «Встречи на краю света» Вернера Херцога про «одинокого пингвина-нигилиста»
Пингвин внезапно покидает колонию и уходит вглубь Антарктиды, в сторону гор, примерно на 70 километров, где его почти наверняка ждёт смерть. Учёные так и не смогли однозначно объяснить это поведение: одни считают, что животное осознанно шло навстречу концу, другие — что он искал утраченную пару.
Сейчас пользователи превратили эпизод в символ мотивации и экзистенциального выбора. Поступок пингвина интерпретируют как отказ от инстинкта, попытку принять абсурд существования и стремление вырваться из заданного пути.
r/ #unexpected
Безумец дня: парень в Твиттере нашёл, где живёт девушка, по фотографии её руки на траве
Сначала он определил, в каком штате может быть такая трава относительно климата. Угол падения тени от руки помог подтвердить догадку – это оказалось Огайо.
Затем по влажности всё той же травы, выяснил, в каких областях штата шли дожди в период съёмки. А по стилю одежды понял, что это должен быть небольшой городок.
Он пришёл к выводу, что фото сделано в Спрингфилде. После чего изучил парковые территории города и нашёл дом девушки, а также узнал имя по данным её автомобиля.
The Moment He Became John Doe 🤯#shorts#johndoestory#JohnDoe#identity#transformation#baseball#storytime#mystery#drama#classic#character#unexpected#cinema
https://pdmovies.substack.com/p/frank-capras-meet-john-doe-1941