Для тех кто пишет расширения на 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
#BringThemBack
🇻🇪 По приглашению Посольства Боливарианской Республики Венесуэла в Республике Беларусь члены Молодежного совета Евгений Нищименко, Владимира Зайцев и Алексей Григорович приняли участие во встречи «Диалог в знак солидарности с Венесуэлой», посвящённое 29-й годовщине со дня установления дипломатических отношений между 🇻🇪 Венесуэлой и Беларусью.
💪Местом проведения столько знакового события выступила Национальная библиотека Беларуси, куда были также приглашены уполномоченные послы ряда дружественных стран, депутаты Палаты представителей, лидеры политических партий, общественных объединений Республики Беларусь, в том числе молодёжных, а также огромное количество молодых людей.
✔️Основной темой для обсуждения стали события в Венесуэле в начале января 2026 года. Был закреплен тезис, что Беларусь поддерживает народ Венесуэлы в стремления быть независимым государством, а также выступает за мир, соблюдение норм международного законодательства и осуждает факты вмешательства в дела независимой Венесуэлы.
☄️Подписывайтесь — @MOLSOVPP_BY
✊Hoy, en el corazón de Caracas, se realizó una masiva concentración en apoyo a Nicolás Maduro y su esposa, Cilia Flores
Expresamos nuestra profunda gratitud a todos los participantes y organizaciones por demostrar su inquebrantable lealtad al Presidente.
Un reconocimiento especial a la presidenta encargada, Delcy Rodríguez, y a la Alcaldía de Caracas por su invaluable apoyo en la organización de este evento.
🇻🇪¡Los venezolanos nunca olvidan a sus héroes! ¡Juntos venceremos!
#LosQueremosDeVuelta (#BringThemBack)
📢✊¡Convocatoria a la concentración en apoyo a Maduro!
Este jueves 26 de marzo de 2026, los venezolanos nos unimos en Caracas para expresar nuestro apoyo al presidente Nicolás Maduro y a su esposa Cilia Flores, secuestrados arbitrariamente por Estados Unidos.
La concentración se realiza en el mismo día de la segunda audiencia en la Corte Federal de Nueva York
📍Punto de concentración:
Cerca del monumento de Bolívar en Plaza Bolívar de Caracas, al frente de la Asamblea Nacional.
🗓Fecha: 26 de marzo de 2026
⏰Hora: 10:00 a. m.
Nos movilizamos en defensa de la patria, del Gobierno legítimo y de la familia venezolana, llevando consigo pancartas con #LosQueremosDeVuelta (#BringThemBack) y banderas venezolanas en alto.
🗣¡Llama y comparte!
🇻🇪¡Los venezolanos nunca olvidan a sus héroes!
📢✊¡Convocatoria a la concentración en apoyo a Maduro!
Este jueves 26 de marzo de 2026, los venezolanos nos unimos en Caracas para expresar nuestro apoyo al presidente Nicolás Maduro y a su esposa Cilia Flores, secuestrados arbitrariamente por Estados Unidos.
La concentración se realiza en el mismo día de la segunda audiencia en la Corte Federal de Nueva York
📍Punto de concentración:
Cerca del monumento de Bolívar en Plaza Bolívar de Caracas, al frente de la Asamblea Nacional.
🗓Fecha: 26 de marzo de 2026
⏰Hora: 10:00 a. m.
Nos movilizamos en defensa de la patria, del Gobierno legítimo y de la familia venezolana, llevando consigo pancartas con #LosQueremosDeVuelta (#BringThemBack) y banderas venezolanas en alto.
🗣¡Llama y comparte!
🇻🇪¡Los venezolanos nunca olvidan a sus héroes!
📢✊¡Convocatoria a la concentración en apoyo a Maduro!
Este jueves 26 de marzo de 2026, los venezolanos nos unimos en Caracas para expresar nuestro apoyo al presidente Nicolás Maduro y a su esposa Cilia Flores, secuestrados arbitrariamente por Estados Unidos.
La concentración se realiza en el mismo día de la segunda audiencia en la Corte Federal de Nueva York
📍Punto de concentración:
Cerca del monumento de Bolívar en Plaza Bolívar de Caracas, al frente de la Asamblea Nacional.
🗓Fecha: 26 de marzo de 2026
⏰Hora: 10:00 a. m.
Nos movilizamos en defensa de la patria, del Gobierno legítimo y de la familia venezolana, llevando consigo pancartas con #LosQueremosDeVuelta (#BringThemBack) y banderas venezolanas en alto.
🗣¡Llama y comparte!
🇻🇪¡Los venezolanos nunca olvidan a sus héroes!
A Women’s Day message from the Cilia Flores International Women's Brigades for Peace
On 8 March, the world comes together to recognise our historic strength and our unwavering struggle. As women who uphold hope and justice in every corner of the world, we know that there is no true peace without freedom, nor feminism without internationalist solidarity.
On this day of global struggle, we extend to you an invitation filled with feeling and commitment:
Let us ensure that the name of our comrade Cilia Flores resonates in every corner of the globe and that, in your mobilisations and commemorative events for International Women’s Day, you proudly display banners with the phrase #BringThemBack#WeWantThemBack, accompanied by the image of our sister Cilia.
May her face and our cry for justice be united with the millions of women who take to the streets of the world.
For Cilia, for all women, for peace and freedom!
We will prevail!
Venceremos!
🔴 El Presidente de la Asamblea Nacional Jorge Rodríguez informa:
🗣️
Queremos informar a la opinión pública nacional e internacional, que instalamos formalmente la Comisión de Alto Nivel para la liberación de nuestro Presidente Constitucional Nicolás Maduro y la primera dama Cilia Flores. Todas nuestras capacidades serán invertidas en este proceso, que no es otra cosa que la búsqueda de justicia y la consolidación de la paz.
#BringThemBack
#LosQueremosDeVuelta
https://x.com/lucenar528