Для тех кто пишет расширения на 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
Osiyo Olimpiya kengashi Ijroiya byurosining 106-yigʻilishi boʻlib oʻtdi
Bugun Osiyo Olimpiya kengashi Ijroiya byurosining 106-yigʻilishi oʻtkazildi. Unda tashkilot faoliyatiga oid dolzarb masalalar, shu jumladan, ertaga boʻlib oʻtadigan OOKning 46-Bosh Assambleyasiga tayyorgarlik jarayonlari atroflicha muhokama qilindi.
—
Состоялось 106-е заседание Исполнительного бюро Олимпийского совета Азии
Сегодня состоялось 106-е заседание Исполнительного бюро Олимпийского совета Азии. В ходе встречи были всесторонне обсуждены актуальные вопросы, связанные с деятельностью организации, в том числе процессы подготовки к 46-й Генеральной Ассамблее ОСА, которая пройдет завтра.
#OOK
👉@OlympicUz
olympic.uz I YouTube I Instagram I
Poytaxtimizda oʻtadigan xalqaro sport anjumanlariga tayyorgarlik ishlari koʻrib chiqildi
Bugun Sport vazirligida 24–27-yanvar kunlari poytaxtimizda oʻtkazilishi rejalashtirilgan yirik xalqaro sport tadbirlariga tayyorgarlik masalalariga bagʻishlangan yigʻilish boʻlib oʻtdi.
—
Ташкент готовится принять ряд международных спортивных мероприятий
Сегодня в Министерстве спорта состоялось совещание, посвящённое вопросам подготовки к крупным международным спортивным мероприятиям, запланированным к проведению в Ташкенте с 24 по 27 января.
#Yigilish#OOK
👉@OlympicUz
olympic.uz I YouTube I Instagram I
Osiyo Olimpiya kengashining tarixiy Bosh Assambleyasidan lahzalar
—
Моменты с исторической Генеральной Ассамблеи Олимпийского совета Азии
—
Footage from the historic General Assembly of the Olympic Council of Asia
#OOK#BoshAssambleya
👉@OlympicUz
olympic.uz I YouTube I Instagram I
Shayx Javʼan bin Hamad Ol Soniy Toshkentga tashrif buyurdi
Poytaxtimizda oʻtkaziladigan Osiyo Olimpiya kengashi 46-Bosh Assambleyasining faxriy mehmonlaridan biri – Milliy Olimpiya qoʻmitalari assotsiatsiyasi (ANOC) raisining birinchi oʻrinbosari, Qatar Olimpiya qoʻmitasi prezidenti Shayx Javʼan bin Hamad Ol Soniy Toshkentga yetib keldi.
Martabali mehmonni Islom Karimov nomidagi Toshkent xalqaro aeroportida Sport vazirligi hamda Milliy Olimpiya qoʻmitasi rahbariyati kutib oldi.
Maʼlumot uchun, Shayx Javʼan bin Hamad Ol Soniy Osiyo Olimpiya kengashining 46-Bosh Assambleyasi doirasida tashkilot rahbarligi uchun oʻtkaziladigan saylovda yagona nomzod sifatida koʻrsatilgan.
—
Шейх Джоаан бин Хамад Аль Тани прибыл в Ташкент
В столицу с официальным визитом прибыл первый заместитель председателя Ассоциации Национальных Олимпийских комитетов (ANOC), президент Олимпийского комитета Катара шейх Джоаан бин Хамад Аль Тани, который является одним из почётных гостей 46-й Генеральной Ассамблеи Олимпийского совета Азии.
Господина Аль Тани в международном аэропорту имени Ислама Каримова встретило руководство Министерства спорта и Национального Олимпийского комитета.
Для сведения, в рамках 46-й Генеральной Ассамблеи ОСА шейх Джоаан бин Хамад Аль Тани выдвинут единственным кандидатом на выборы руководителя организации.
#OOK#BoshAssambleya
👉@OlympicUz
olympic.uz I YouTube I Instagram I
26-yanvar kuni poytaxtimiz Toshkentda Osiyo sporti uchun yilning eng muhim voqealaridan biri – Osiyo Olimpiya kengashining 46-Bosh Assambleyasi boʻlib oʻtadi. Qitʼamizning 45 mamlakatidan Milliy Olimpiya qoʻmitalari va xalqaro sport ekspertlari ishtirokida oʻtadigan ushbu nufuzli tadbir Yangi Oʻzbekistonning yirik xalqaro anjumanlarni yuksak saviyada tashkil etish va oʻtkazish salohiyatini yana bir bor namoyon etadi.
—
26 января в нашей столице Ташкенте состоится одно из самых значимых событий года для Азиатского спорта — 46-я Генеральная Ассамблея Олимпийского совета Азии. В этом престижном форуме примут участие представители Национальных Олимпийских комитетов и международные спортивные эксперты из 45 стран континента. Мероприятие в очередной раз продемонстрирует высокий потенциал Нового Узбекистана в организации и проведении крупных международных мероприятий на самом высоком уровне.
#OOK#BoshAssambleya
👉@OlympicUz
olympic.uz I YouTube I Instagram I
OOK 46-Bosh Assambleyasiga tayyorgarlik masalalari muhokama qilindi
Joriy yilning 26-yanvar kuni Toshkent shahri Osiyo Olimpiya kengashining (OOK) 46-Bosh Assambleyasiga mezbonlik qiladi. Ayni paytda mazkur nufuzli tadbirni yuqori saviyada oʻtkazish maqsadida keng koʻlamli tayyorgarlik ishlari amalga oshirilmoqda. Bugun Sport vazirligida ushbu jarayonlarga bagʻishlangan yigʻilish boʻlib oʻtdi.
—
Ташкент готов принять 46-Генеральную Ассамблею ОСА
26 января текущего года в Ташкенте пройдёт 46-Генеральная Ассамблея Олимпийского совета Азии (ОСА). В настоящее время ведётся масштабная подготовка к проведению этого престижного мероприятия на высоком уровне. Сегодня в Министерстве спорта состоялось совещание, посвящённое организационным вопросам.
#OOK#BoshAssambleya
👉@OlympicUz
olympic.uz I YouTube I Instagram I
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev Osiyo Olimpiya kengashining 46-Bosh assambleyasida ishtirok etdi.
—
Президент Республики Узбекистан Шавкат Мирзиёев принял участие в 46-й Генеральной ассамблее Олимпийского совета Азии.
#Mirziyoyev#assambleya#OOK#olimpiyaharakati
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev Osiyo Olimpiya kengashining 46-Bosh assambleyasida ishtirok etdi.
—
Президент Республики Узбекистан Шавкат Мирзиёев принял участие в 46-й Генеральной ассамблее Олимпийского совета Азии.
#Mirziyoyev#assambleya#OOK#olimpiyaharakati
Prezident.uz|Facebook|Instagram|YouTube|X
Toshkentda Osiyo Olimpiya kengashining 46-Bosh Assambleyasi bo‘lib o‘tdi
Poytaxtimiz Toshkent shahrida Osiyo Olimpiya kengashining 46-Bosh Assambleyasi bo‘lib o‘tdi. Nufuzli anjumanda Osiyo Olimpiya kengashi va unga a’zo Milliy Olimpiya qo‘mitalari vakillari, Xalqaro Olimpiya qo‘mitasi hamda yetakchi sport tashkilotlarining rahbarlari, shuningdek, O‘zbekiston Respublikasi Sport vazirligi, Milliy Olimpiya va Paralimpiya qo‘mitalari rahbariyati ishtirok etdi.
—
В Ташкенте состоялась 46-я Генеральная Ассамблея Олимпийского совета Азии
В Ташкенте прошла 46-я Генеральная Ассамблея Олимпийского совета Азии. В работе престижного форума приняли участие представители Олимпийского совета Азии и входящих в его состав Национальных Олимпийских комитетов, главы Международного Олимпийского комитета и ведущих спортивных организаций, а также руководство Министерства спорта Республики Узбекистан, Национальных Олимпийского и Паралимпийского комитетов.
#OOK#BoshAssambleya#Toshkent2029
👉@OlympicUz
olympic.uz I YouTube I Instagram I
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev Osiyo Olimpiya kengashining 46-Bosh assambleyasida ishtirok etdi.
—
Президент Республики Узбекистан Шавкат Мирзиёев принял участие в 46-й Генеральной ассамблее Олимпийского совета Азии.
#Mirziyoyev#assambleya#OOK#olimpiyaharakati
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev Osiyo Olimpiya kengashining 46-Bosh assambleyasida ishtirok etdi.
—
Президент Республики Узбекистан Шавкат Мирзиёев принял участие в 46-й Генеральной ассамблее Олимпийского совета Азии.
#Mirziyoyev#assambleya#OOK#olimpiyaharakati
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev Osiyo Olimpiya kengashining 46-Bosh assambleyasida ishtirok etdi.
—
Президент Республики Узбекистан Шавкат Мирзиёев принял участие в 46-й Генеральной ассамблее Олимпийского совета Азии.
#Mirziyoyev#assambleya#OOK#olimpiyaharakati
Prezident.uz|Facebook|Instagram|YouTube|X