Для тех кто пишет расширения на 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
#An’analar
Qadriyatlar go‘zalligi liboslarda namoyon
“Oʻzbekneftgaz” AJ tizimida “Milliy liboslarimiz va qadriyatlarimiz” shiori ostida o‘tkazilayotgan ko‘rik-tanlov “Gissarneftgaz” qo‘shma korxonasida ham qizg‘in tarzda o‘tdi.
15 apreldan 31 avgustga qadar davom etgan tanlovda xodimlar milliy urf-odat va an’analarimizga bo‘lgan hurmatini liboslar orqali namoyon etdilar. Tadbirning asosiy maqsadi — milliy merosni asrab-avaylash, jamoa ongiga milliy liboslar iftixorini singdirish hamda qadriyatlarga sadoqat tuyg‘usini mustahkamlashdan iborat.
Fototanlovning yakuniy bosqichida aniqlangan g‘oliblar taqdirlandi. Bunday tadbirlar nafaqat milliy merosimizni targ‘ib etadi, balki ishchi-xodimlarning ma’naviy dunyosini boyitish, jamoada ijobiy muhitni kuchaytirishga ham xizmat qiladi.
👇Bizni kuzating:
🌐web-sayt |
📷instagram |
👉telegram |
▶️youtube |
💬facebook
#Chilonzor_tumani_hokimligida_Sumalak_sayli
#An’anaviy_bahor_ayyomi
🌸Har bahorda tuman hokimligining orqasidagi bog‘ yonida qiyg‘os gullagan daraxtlar atrofida Chilonzor tumani hokimligi jamoasi "Sumalak sayli" o‘tkazadi.
🌸 An’anaga aylangan bu sayilga tuman hokimligining Tashkiliy-kadrlar guruhi rahbari U. Parmonbekov va uning atrofidagi ahil jamoa puxta tayyorgarlik ko‘rgan.
🌸 Bu oddiy sayil emas, bu jamoaning birdamligi, hamjihatligini yanada mustahkamlaydigan xayrli tadbirdir.
🌸Sumalak sayli haqiqiy bahoriy bayramga aylanmoqda. Milliy maqom qo‘shiqlari yangragan, dasturxonlar bahoriy ne’matlar bilan bezatilgan, hammaning kayfiyati a’lo, ahillik va birdamlik mustahkamlansa jamoaning ishi yanada yutuqlarga boy bo‘laveradi.
🌸 Doshqozonda qaynayotgan sumalakni kavlayotgan jamoadoshlar tumanimiz ahliga tinchlik va farovonlik, har bir oilaga, har bir tumandoshimizga ezgu tilaklar bildirmoqda, tumanimizning har tomonlama rivojlanishi, gullab-yashnashini tilab ezgu niyatlar qilishmoqda.
⬅️⬅️⬅️ Siz ham keling, sayilimizda ishtirok eting, bildirgan ezgu niyatlaringiz o‘zingizga ham yo‘ldosh bo‘ladi.
👉👉👉 Sharqona Yangi yilimiz barchangiz uchun xayrli va quvonchli kunlarga boy bo‘lsin!
👉👉👉Shu o‘rinda shunday xayrli tadbirning boshida turgan barcha tashkilotchilarga jamoa nomidan katta minnatdorchilik bildiramiz.
🔵Сhilonzor_tumani_hokimligi
#steal#like#an#artist
“Ilhom beruvchi yoki tasavvuringizni kuchaytiradigan har qanday joydan oʻgʻirlang. Eski filmlar, yangi filmlar, musiqa, kitoblar, rasmlar, fotosuratlar, she'rlar, orzular, tasodifiy suhbatlar, arxitektura, ko'priklar, ko'cha belgilari, daraxtlar, bulutlar, suv havzalari, yorug'lik va soyalarni yutib yuboring.Har doim atrofingizdan o'g'irlash uchun narsalarni tanlang. Agar shunday qilsangiz, sizning ishingiz insonlar ongida haqiqiydek bo'ladi"
— Jim Jarmusch
P.S.: Bu yerda o'g'irlik g'oyaga nisbatan ishlatilgan)
Telegram
#Francia#AN
Con 331 voti favorevoli, l'Assemblea Nazionale approva la mozione di sfiducia nei confronti del Primo Ministro Michel #Barnier (#LR|EPP).
Video di LCP.
@OsservatorioEsteri