Для тех кто пишет расширения на 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
👉Comisia Electorală Centrală a organizat o sesiune de instruire cu privire la utilizarea modulului „Contestații electorale”, un instrument digital care permite depunerea și gestionarea contestațiilor în format electronic.
🖊La instruire au participat reprezentanți ai partidelor politice și societății civile, care au avut oportunitatea să se familiarizeze cu funcționalitățile platformei și cu modalitatea de utilizare a acesteia în practică.
#CECMoldova#DemocrațiaContează#ModulContestațiiElectorale#Instruire#PNUDMoldova
📌Избирательное законодательство изменилось, и теперь покупка или продажа голосов, включая обещания вознаграждения, карается ещё строже.
☝️Нарушителям закона грозят более суровые санкции.
❌Не принимайте деньги или услуги в обмен на ваш голос! Не сообщайте свои идентификационные данные неизвестным лицам!
➡️Если вы сами сообщите о нарушениях, то можете избежать наказания.
🎥Посмотрите видео, узнайте о новых правилах и, если вы заметите нарушения, сообщите о фактах коррупции на выборах по номеру 112 или на Национальную горячую линию по борьбе с коррупцией – 0 800 55555.
🗳Голосуйте свободно, без ограничений!
✅Видеоролик был разработан в сотрудничестве с UNDP Moldova.
#CECMoldova#DemocrațiaContează#AlegeriParlamentare#28Septembrie2025#AP2025#NuCorupțieiElectorale#PNUDMoldova
Peste 15 trezorieri ai partidelor politice au participat, astăzi, 20 martie, la un seminar dedicat aspectelor privind raportarea financiară pentru anul 2025, desfășurat de Comisia Electorală Centrală cu suportul Institutului Republican Internațional din Moldova.
Detalii în comunicatul de presă: https://a.cec.md/ro/trezorierii-partidelor-politice-sunt-instruiti-in-domeniul-raportarii-financiare-2781_116984.html
#CECMoldova#DemocrațiaContează#InstruireTrezorieri#IRIMoldova#PNUDMoldova
📌𝐓𝐫𝐞𝐳𝐨𝐫𝐢𝐞𝐫𝐢𝐢 𝐩𝐚𝐫𝐭𝐢𝐝𝐞𝐥𝐨𝐫 𝐩𝐨𝐥𝐢𝐭𝐢𝐜𝐞 𝐚𝐮 𝐟𝐨𝐬𝐭 𝐢𝐧𝐬𝐭𝐫𝐮𝐢ț𝐢 î𝐧 𝐝𝐨𝐦𝐞𝐧𝐢𝐮𝐥 𝐫𝐚𝐩𝐨𝐫𝐭ă𝐫𝐢𝐢 𝐟𝐢𝐧𝐚𝐧𝐜𝐢𝐚𝐫𝐞
👉Raportul privind gestiunea financiară se semnează de către trezorierul și conducătorul partidului politic/persoana care asigură interimatul. Ambii poartă răspundere pentru corectitudinea, autenticitatea și actualitatea datelor și a informațiilor prezentate, precum și pentru neprezentarea acestora.
#CECMoldova#DemocrațiaContează#RapoarteFinanciare#IRI#PNUDMoldova#USAIDMoldova
📌Legislația electorală s-a modificat, iar acum 𝐬𝐞 𝐩𝐞𝐝𝐞𝐩𝐬𝐞ș𝐭𝐞 și mai aspru 𝐜𝐮𝐦𝐩ă𝐫𝐚𝐫𝐞𝐚 𝐬𝐚𝐮 𝐯â𝐧𝐳𝐚𝐫𝐞𝐚 𝐯𝐨𝐭𝐮𝐫𝐢𝐥𝐨𝐫, inclusiv promisiunile de recompense.
☝️Cei care încalcă legea riscă sancțiuni mai dure.
❌Nu accepta bani sau favoruri pentru vot! Nu oferi datele tale de identitate unor persoane necunoscute!
➡️Dacă te autodenunți, poți scăpa de pedeapsă.
🎥Urmărește videoul, vezi care sunt noile reglementări și, dacă observi nereguli, 𝐫𝐚𝐩𝐨𝐫𝐭𝐞𝐚𝐳ă 𝐜𝐨𝐫𝐮𝐩ț𝐢𝐚 𝐞𝐥𝐞𝐜𝐭𝐨𝐫𝐚𝐥ă 𝐥𝐚 𝟏𝟏𝟐 sau la 𝐋𝐢𝐧𝐢𝐚 𝐍𝐚ț𝐢𝐨𝐧𝐚𝐥ă 𝐀𝐧𝐭𝐢𝐜𝐨𝐫𝐮𝐩ț𝐢𝐞 – 𝟎 𝟖𝟎𝟎 𝟓𝟓𝟓𝟓𝟓.
🗳𝐕𝐨𝐭𝐞𝐚𝐳ă 𝐥𝐢𝐛𝐞𝐫, 𝐟ă𝐫ă 𝐜𝐨𝐧𝐬𝐭𝐫â𝐧𝐠𝐞𝐫𝐢!
✅Spotul video a fost elaborat în colaborare cu UNDP Moldova.
#CECMoldova#DemocratiaConteaza#AlegeriParlamentare#28Septembrie2025#Ap2025#VoteazăLiber#PNUDMoldova#NuCorupțieiElectorale