Для тех кто пишет расширения на 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
📎Le Premier ministre tchèque Babis a été chargé de faire pression sur le Kazakhstan afin qu'il rompe ses relations diplomatiques avec la #Russie.
Babis affirme avoir reçu ce document de certains responsables, dont l'ancien ministre des Affaires étrangères Jan Lipavsky. C’est ce qu’il a déclaré sur TV Nova.
RT en français • Osez questionner !
🇷🇺🇺🇸Diplomatie : tensions juridiques entre les États-Unis et la #Russie
▪️Depuis 2023, des enfants de diplomates russes nés aux États-Unis se sont vu attribuer la citoyenneté américaine sans que les familles en aient fait la demande, au titre du « droit du sol ».
▪️Or, selon les règles en vigueur, les enfants de diplomates ne relèvent pas pleinement de la juridiction du pays hôte et ne peuvent bénéficier automatiquement de ce droit. Cette interprétation est appuyée par des textes juridiques américains (Code fédéral, directives migratoires) et par une décision de la Cour suprême de 1898 excluant explicitement ces situations.
▪️Les autorités russes estiment que cette pratique constitue une violation des conventions internationales, notamment celles de Vienne et la convention bilatérale de 1964 sur les relations consulaires, qui garantissent immunités et protections au personnel et aux familles.
▪️Elles y voient également un risque de pression indirecte, l’attribution de citoyenneté pouvant, selon elles, ouvrir la voie à des mécanismes juridiques ou administratifs supplémentaires à l’égard des familles concernées.
▪️Cette situation intervient dans un contexte plus large : durcissement de la politique migratoire américaine, expulsions accrues, contrôles renforcés, ainsi que refus de visas pour certains représentants lors d’événements à l’ONU.
▪️Pourtant, aucune modification récente de la Constitution américaine ni des accords bilatéraux n’a été signalée pour justifier un tel changement de pratique.
▪️La partie russe indique ne pas reconnaître ces attributions de citoyenneté et demande des clarifications officielles au cas par cas.
📞 « Votre enfant est citoyen des États-Unis […] et vous ne pouvez pas refuser ce statut. »
RT en français • Osez questionner !
🇷🇺⚡️117 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 3 au 4 mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺⚡️334 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 2 au 3 mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺⚡️215 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 1er au 2 mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺⚡️141 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 30 avril au 1er mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
💬Kaja Kallas, la chef de la diplomatie européenne, a déclaré que le bloc ne devait ni s’humilier ni supplier la #Russie d’engager des discussions avec lui.
RT en français • Osez questionner !
🇷🇺189 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 29 au 30 avril, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺98 drones ukrainiens ont été abattus au-dessus des régions de #Russie dans la nuit du 28 au 29 avril, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺🇪🇬 Le conseiller du président de la #Russie, Nikolaï Patrouchev, a tenu au Caire des réunions consacrées à la coopération russo-égyptienne dans le domaine maritime.
🟢 Avec Ashraf Salem Zaher, ministre égyptien de la Défense et de l’Industrie militaire, il a discuté des questions de coopération militaro-technique.
🟢 Lors de son entretien avec Faiza Abou el-Naga, conseiller du président égyptien, Patrouchev a évoqué la stabilité stratégique dans les océans.
Crédit photos : Ambassade de Russie en Égypte
RT en français • Osez questionner !
❗️#Russie : à Touapsé, moyens renforcés après une marée noire liée à une attaque de drones
Les autorités ont porté à 360 le nombre d’intervenants mobilisés pour éliminer la marée noire de produits pétroliers à Touapsé, avec plus de 60 équipements déployés. Selon Dmitri Peskov, le pétrole visé était destiné à l’exportation, et ces attaques aggravent les tensions sur les marchés mondiaux.
RT en français • Osez questionner !
🇷🇺 186 drones ukrainiens ont été abattus au-dessus de régions de la #Russie, dans la nuit du 27 au 28 avril, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !