Для тех кто пишет расширения на 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
Hozir Yer orbitasida 27 000 dan ortiq sun’iy, odam tomonidan yaratilgan jismlar aylanarkan. Wayfinder orqali shularni real vaqtda kuzatsa bo’ladi. Wayfinder - Privateer kompaniyasiga tegishli va bu kompaniyaning asoschilaridan biri - Stiv Voznyak. Kompaniya insoniyatga fazodan to’g’ri foydalanishga yordam berishni maqsad qilgan.
E’tiborlisi, Starlink sun’iy yo’ldoshlari O’zbekiston ustidan ham o’tyapti va bu degani, agar davlat imkon bersa, Starlink orqali internetga chiqish imkoniyati mavjud.
Va boshqa qiziq fakt: Starlink yo’ldoshlari sekundiga 7,6 km tezlik bilan harakat qilyapti (bu minutiga 456 km, soatiga 27 360 km!). Saytda har bir jismning tezligini ko’rsa bo’ladi.
https://www.privateer.com
Eslatib o’taman, Yerning Quyosh atrofidagi orbital tezligi - soatiga 107 000 km (yoki sekundiga deyarli 30 km). Yuqoridagi sayt yuklanguncha hammamiz fazoda 30-60 kmga surilib bo’lamiz.
@farhodjon#fazo#kosmos
Elon Maskning SpaceX kompaniyasi ikkita astronavtni Xalqaro fazo stansiyasiga (XFS) uchiryapti. 2011-yildan beri astronavtlar XFSga Rossiyaning “Soyuz” kemalarida uchishgan. Endi SpaceX kompaniyasining Crew Dragon nomli fazo kemalari yordamida ham uchish yoʻlga qoʻyilyapti. Bugungi parvoz muvaffaqiyatli boʻlishiga juda katta umid qilamiz.
YouTubeʼdagi jonli efir:
https://youtu.be/rjb9FdVdX5I
Bu fazoni oʻrganishdagi juda muhim qadam. Shu paytgacha fazoni oʻrganish, asosan, turli davlatlarning maqsadlariga siyosat va harbiy ehtiyojdan kelib chiqib qoʻshilgan. SpaceX esa aniq maqsadga ega boʻlgan xususiy kompaniya: Marsni kolonizatsiya qilish. Elon Maskka ham ishonsa boʻladi; katta maqsadlar qoʻyib ularni amalga oshiradigan, butun insoniyat kelajagiga hissa qoʻsha oladigan odam.
Bundan tashqari, bu va boshqa xususiy kompaniyalar fazoni isloh qilishni asta-sekin arzonlashtirib boryapti: katta yukni orbitaga olib chiqish, yukni orbitaga olib chiqishdagi birinchi bosqichni qayta yerga (platformaga) qoʻndirish kabi.
Xullas, bu SpaceX uchun kichik qadam, lekin butun insoniyat uchun katta sakrash.
#fazo#kosmos