Для тех кто пишет расширения на 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
🌞ОНО ВОЗВРАЩАЕТСЯ ?!
Похоже, гигантское солнечное пятно AR3590, в прошлом месяце ставшее не только крупнейшим в текущем солнечном цикле, но и породившее мощнейшиевспышки класса X, вот-вот вернётся.
Последние 2 недели оно располагалось не обратной стороне Солнца, но Марсоход "Perseverance" исправно отслеживал ситуацию: с 1 по 9 мар. пятно, сохраняя свой размер, выглядело не распадающимся, но вполне здоровым.
Если так пойдёт и дальше, оно вновь, уже во второй раз появится из-за восточного лимба Солнца около 14 мар.
Фото: Солнце с гигантским пятном AR3590 на снимках марсохода "Perseverance", сделанных с 1 по 9 мар.
#sunspot#Perseverance
Марсоход NASA Perseverance впервые получил возможность сам точно определять своё местоположение на Марсе. Раньше он ориентировался по камерам и оборотам колёс, что давало ошибки до 30 метров. Такая неточность была опасна при движении по пересечённой местности. Новая система снижает погрешность до примерно 25 см.
#perseverance#nasa#навигация
📎Подробнее
Марсоход Perseverance сейчас изучает дельту древней реки в кратере Езеро на Марсе. У него есть георадар, который «просвечивает» грунт на глубину до 35 метров. Когда учёные собрали все данные радара воедино, оказалось, что под поверхностью скрывается ещё одна, более древняя и мощная речная дельта. На её фоне нынешние следы рек на поверхности выглядят просто тонким налётом истории.
#perseverance#жизньнамарсе#nasa
📎Подробнее
🔖 3DNews в Telegram | MAX | VK
🪐 Scientists have discovered that Mars’ Jezero Crater once held an ancient lake, where water persisted long enough to form river deltas and deposit clay minerals—materials that can preserve signs of life for billions of years. The Perseverance rover is now exploring this region, searching for tiny fossilized microbes that may have thrived in Mars' watery past. ✨
#Mars⚡#Perseverance⚡#astrobiology⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
От "Луны-16" до текущих дней: как ИИ стал ключевым членом космических экипажей 🚀🧠
Ровно 55 лет назад, 24 сентября 1970 года, случилось знаковое событие, которое наглядно доказало: роботы способны на самостоятельные космические миссии. Советская станция «Луна-16» впервые в истории в автоматическом режиме доставила на Землю образцы лунного грунта. Это был триумф инженерной мысли и прообраз будущего! 🌍➡️🌕
Тогда это была продвинутая автоматика, запрограммированная на строгий алгоритм действий. Но идея была гениальной: поручить сложнейшую задачу автомату, заложив фундамент для роботизированного освоения космоса.
Сегодня эту концепцию вывели на принципиально новый уровень благодаря искусственному интеллекту. Современные марсоходы, такие как Perseverance, — это уже не просто исполнители команд с Земли. Они — автономные ученые:
➡️Самостоятельно прокладывают путь, объезжая камни и опасные участки, экономя драгоценное время на связь с Землей.
➡️Анализируют породы с помощью встроенных спектрометров, выбирая самые интересные образцы для дальнейшего изучения.
➡️«Мыслят» на месте, принимая сотни микрорешений за один сол (марсианские сутки).
Эволюция налицо: от жесткой автоматики «Луны-16» к гибкому, адаптивному интеллекту современных роботов-исследователей. ИИ стал тем самым «следующим пилотом», который позволяет нам изучать миры на расстоянии десятков миллионов километров с невероятной эффективностью.
Что ждет нас дальше? ИИ будет критически важен для:
➡️Строительства автономных баз на Луне и Марсе.
➡️Поиска следов жизни в подледных океанах Европы или Энцелада.
➡️Управления сложными орбитальными станциями и звездолетами будущего.
Рекомендую вспомнить посты ранее:
➡️ИИ строит мост к Марсу: как роботы Optimus проложат путь человечеству?
➡️Человек слаб, ИИ — неуязвим.
Как это поможет на Марсе?
А как вы думаете, какая следующая крупная космическая задача будет полностью доверена искусственному интеллекту?
Или без человека никуда?
Делитесь мнениями в комментариях! 👇
#ИИвКосмосе#Космонавтика#Луна16#Perseverance#ИскусственныйИнтеллект#Нейросети#Будущее#Наука#Марс#Робототехника
https://t.me/semasci