Для тех кто пишет расширения на 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
🇺🇸 Texas residents were left stunned when a world-renowned chef who once catered events for George W. Bush was deported for crossing the border illegally in 1989. 😳
Sergio Garcia — a beloved figure in Waco known for his wildly popular Mexican food truck — was originally arrested in March over a two-decade-old deportation order.
The chef was loading Sergio’s Food Truck when he was approached by a man in plainclothes, while another man wearing a vest marked POLICE stood nearby, reports The Waco Bridge. 🚓🌮
“They asked me if I'm Sergio, and I said, ‘Yeah, I'm Sergio.’ Then they said, ‘You gotta come with us,’” Garcia recounted.
#ICE#Migrants#Texas#Waco
👂More on Trump's Ear ⚠️
📰 Conservatives Who Once Railed Against Federal Agents Now Applaud Them
For decades, right-wing populists have excoriated federal law enforcement, citing tragedies like Ruby Ridge and Waco as proof of government overreach. Now, under President Donald Trump, many of those same conservatives are cheering on federal agents as they crack down on immigration and unrest in cities like Minneapolis. The shift highlights how political allegiance shapes attitudes toward federal power—applauding crackdowns on adversaries while condemning them when they target allies.
From Enemies to Enforcers
Trump’s deployment of ICE, the Border Patrol, and the National Guard has transformed federal agents from bogeymen to heroes in the eyes of many conservatives. Critics say this reflects “motivated reasoning”—support for police action depends on who’s being targeted. When federal agents confront immigrants or minorities, conservative voices are often silent or supportive, but when they target anti-government activists, the outrage returns.
The Legacy of Ruby Ridge and Waco
Ruby Ridge and Waco became rallying cries for anti-government movements, fueling distrust of federal law enforcement. But today, with Trump in power, many right-wing activists have embraced federal agents as tools of law and order. The shift underscores how political power can reshape perceptions of authority.
Who’s the Enemy Now?
As federal agents raid homes and neighborhoods, the question is: Who decides when police action is justified? The answer seems to depend less on the law than on who’s in charge—and who’s being targeted.
#Trump#Conservatives#FederalAgents#Immigration#RubyRidge#Waco#LawAndOrder
📱American Оbserver - Stay up to date on all important events
🇺🇸