Для тех кто пишет расширения на 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
Xiaomi Pad 7S Pro 12.5 - China - OS3.0.303.0.WOTCNXM (Android 16)
🚨 New internal test version detected! #internal
📆2026/04/29 📱#violin
🔗@xiaomiui | @miui_download | @hyperosfirmware | HyperOS Updates | XimiTime
Xiaomi Pad 7S Pro 12.5 - China - OS3.0.302.0.WOTCNXM (Android 16)
📆2026/03/31 #release📱#violin
📥Recovery ROM
📝Changelog:
[System]
Updated the security patch to August 2025. Increased system security.
🔗@xiaomiui | @miui_download | @hyperosfirmware | HyperOS Updates | XiaomiTime
今天分享一首Violin Sonata No.5, "Spring"~听的时候觉得和Pastoral Symphony跟姐妹似的,都非常lyrical,而且都是F major~说是Violin Sonata,其实原题是Sonatas for Piano and Violin,钢琴的角色也很重要~
#Beethember#Beethoven#violin
https://www.youtube.com/watch?v=tERwEDWh-ko
上周群里说起了Sibelius的Violin Concerto,鄙人找了找Sibelius其他的violin piece,发现了这部5 pieces for violin and piano还蛮喜欢的~
#sibelius#violin#piano
https://www.youtube.com/watch?v=qD-zdXErpRo
今天是勃拉姆斯和柴可夫斯基的生日~今天分享的是大家耳熟能详的勃拉姆斯的Violin Sonata No.1 in G Major第一乐章。这首Violin Sonata 又叫做 Regensonate,是因为取材于他自己的一首艺术歌曲Regenlied,虽然旋律上的运用在第三乐章中更多,在第一乐章中我们多次听到的有三个音符组成的长短长的motif也是来自于Regenlied,成为贯穿全曲的线索。
https://www.youtube.com/watch?v=TbgknpFu8Mw
#yearOfWonder#brahms#violin
ref: Kelly Dean Hansen对于这首作品的细节分析
http://www.kellydeanhansen.com/opus78.html
The Handover — The Handover (Sublime Frequencies, 2024)
#oud#violin#synth#Egypt
The Handover — проект Али Иссы, Аймана Асфура и Йонаса Камбиена, исследующий связь между египетской музыкальной традицией и современными импровизационными подходами. Одноименный их коллективу альбом музыканты записанный в Александрии в январе 2023 года.
🔗Bandcamp
Perelaar — De Ridder In Het Riet (Stoof, 1981)
#traditional#flute#mandolin#accordion#violin#Netherlands
Продолжаем рубрику «забытые европейские исполнители». Perelaar — голландская группа, исполнявшая традиционную музыку. Группа черпала вдохновение из рукописей фризского драматурга Андриса Кирса 19 века, а также из старых источников, таких как Amsterdams Liedboek (1655 г.) и фермерского фольклора 18 века. Этот акцент на аутентичном голландском репертуаре в основном связан с Маритой Круийсвейк, которая играла в Perelaar с 1976 года. Сейчас группа продолжает существовать под названием Pekel.
Telgram