Для тех кто пишет расширения на 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
Уже сегодня!
Приглашаем вас на вечер, посвящённый выставке
«Русское искусство, старое и новое» (1928)
Погрузитесь в атмосферу искусства, которое объединило Россию и Европу и стало одним из самых ярких культурных событий своего времени.
🗓 Сегодня
⏰ 19:00–21:00
📍 Русский дом в Брюсселе
🎟 Вход свободный (по регистрации)
https://rushouse.be/event/the-exhibition-russian-art-ancient-and-modern-1928-to-mark-the-100th-anniversary-of-bozar-brussels/
Не упустите возможность провести вечер в окружении истории, культуры и вдохновения
#RussianHouseBrussels#Art#BrusselsEvents#Today#Культура#РусскийДом#Брюссель
📅April Programme at the Russian House Brussels
We are pleased to present our April programme — a rich and diverse series of cultural, educational and artistic events.
✨ This month:
— 🎨 Family space art workshop for children
— 🎬 Space Documentary Film Days dedicated to Cosmonautics Day
— 🎼 Concerts and musical evenings, including a special programme of the Bolshoi Theatre
— 📚 Lectures and historical meetings
— 🇷🇺 Russian language workshops and conversation club
— 🎭 Theatre performance and film screenings for all ages
🖼 Throughout April, discover our exhibitions:
— “The Amazing Earth”
— “Energy of Space” by Sergey Kraynev
— “Captain Cousteau in Russia”
— “When Art Nouveau meets Artificial Intelligence”
📍 All events take place at the Russian House Brussels or online
🔗 Full programme and registration: rushouse.be
We look forward to welcoming you!
#RussianHouseBrussels#BrusselsEvents#Culture#RussianCulture#Art#Music#Cinema#Education#CosmonauticsDay#Brussels
Musical and Poetic Performance “The Spring is Coming Again to the World…”
On the eve of Victory Day, the Russian House in Brussels invites you to a special evening of music and poetry.
People’s Artist of Russia Oleg Pogudin and his Romance Theatre will present a programme dedicated to the memory of a generation whose youth fell upon the years of the Great Patriotic War.
The evening will feature poems and songs born in the harsh years of war — sincere, courageous, and filled with both the pain of loss and a bright hope.
🎹 Piano part: Oleg Weinstein, Honored Artist of the Russian Federation
📅 April 28
🕖 19:00–21:00
📍 Russian House in Brussels
🎟 Free admission upon registration
https://rushouse.be/event/musical-performance-the-spring-is-coming-again-to-the-world/
We warmly invite you to join this evening of remembrance, music, and poetry.
#RussianHouseBrussels#BrusselsEvents#Culture#Music#Poetry#OlegPogudin#Concert#CulturalDiplomacy#VictoryDay#Remembrance#RussianCulture#ArtAndCulture
🚨LAST CALL | FINAL SEATS AVAILABLE🚨
🎶“Slavic Heritage” Concert
by the Gnessin Modern Choir “Altro coro”
📅May 13 | 19:00
📍 Russian House in Brussels
🎟Free entry (registration required)
An evening where tradition meets modern sound.
A unique musical journey through Slavic culture — from ancient spiritual roots to contemporary choral expression.
✨ Rich voices
✨ Rare instruments (including domra)
✨ Deep emotional atmosphere
This is not just a concert — it’s an immersion into the living heritage of Slavic culture, where music becomes a language beyond words.
⚡️Only a few seats left — don’t miss your chance!
🔗 Register now
https://rushouse.be/event/slavic-heritage-concert-by-the-gnessin-contemporary-choral-ensemble-altro-coro/
#BrusselsEvents#RussianHouseBrussels#ConcertBrussels#ClassicalMusic#ChoralMusic#SlavicCulture#CulturalDiplomacy#LiveMusic#FreeEvent#BrusselsLife#WhatToDoInBrussels