Для тех кто пишет расширения на 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
#material
Высота по оси z в Material Design.
1. Навигационное меню — 16dp;
2. Панель приложения — 4dp;
3. Карточки — от 1dp к 8dp при нажатии;
4. FAB — 6dp;
5. Кнопка — от 2dp к 8dp при нажатии;
6. Диалоговое окно — 24dp.
Подробнее
😄Material
➖➖➖➖➖➖
🔘Material is what things are made from.
🔜 What material is this table? It's wood.
🔘Material can also be another word for cloth.
🔜 Can you make a dress using this material?
🔘Material is information used in writing as well, often for promotional purposes.
🔜 Take this material and write an article using it. It's interviews about living in the UK.
#Material👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
😄Material
➖➖➖➖➖➖
🔘Material is what things are made from.
🔜 What material is this table? It's wood.
🔘Material can also be another word for cloth.
🔜 Can you make a dress using this material?
🔘Material is information used in writing as well, often for promotional purposes.
🔜 Take this material and write an article using it. It's interviews about living in the UK.
#Material👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
В Material Component for Android 1.13.0 (пока в альфе) добавили новые виджеты на View системе:
👉Docked Toolbar
👉Floating Toolbar
👉Split Button
#android#material
Material Design 3 Expressive красив только на картинках от дизайнеров. По сути своей сделали гигантизм, из-за чего приходится на маленьких экранах уводить в более мелкие элементы интерфейса (через настройки плотности). Переводы и размещение текста оставляют желать лучшего. Как по мне - худший редизайн Android за всю историю.
Успели попробовать? Какие ваши впечатления?
#material#ui
Yaqinda Google rasman oʻzining Material 3 Expressive dizayn tizimini taqdim etdi
Ushbu tizimda ular yorqin ranglar, jonli tipografiya va animatsiyalarga urgʻu berishdi.
Tizim ustida uch yil davomida ish olib borildi, 18 000 nafar inson ishtirokida 46 ta tadqiqot oʻtkazildi.
Batafsil: https://m3.material.io/
Aytishlaricha, Android 16 (Beta)da bu yangilanishni koʻrishimiz mumkin ekan. Sizga yangi dizayn tizimi yoqdimi?
@suxrobblog // #google#material
🚀Вышел Jetpack WindowManager 1.4 - библиотека с API для построения адаптивного UI в Material3 (можно применить и к другим UI Kit): WindowSizeClass, Activity embedding, WindowsInfoTracker и др.
Про изменения отдельными постами дальше
#jetpack#ui#material
📹Building adaptive Android apps (40 минут)
Очень классное видео про то как подходить к разработке приложений без привязки к экрану, а думать именно в терминах пространства для отрисовки
0:00 Введение
4:15 Зачем создавать адаптивные интерфейсы?
7:49 Адаптивность в Compose Material 3
13:01 Создание UI с Compose Material 3 Adaptive
22:07 Положения складных устройств
23:32 Анти-паттерны
26:52 Ввод, выходящий за рамки сенсорного управления
30:36 Тестирование на разных устройствах
36:17 Адаптивный рабочий процесс
39:29 Обратная связь и заключительные замечания
#android#material#большикэкраны