Для тех кто пишет расширения на 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
#анатомия#ноги#anatomy#legs
Quick Guide: Drawing Legs
1. Proportions
The leg is typically 4-4.5 times the height of a character's head (measured in "head" units).
The thigh (from the pelvis to the knee) and the shin (from the knee to the ankle) are approximately equal in length.
2. Basic Shapes
Thigh: Think of it as two connected cylinders or a cone tapering slightly from the pelvis. The outer thigh is rounder and more convex due to the muscles.
Knee: This is the central hinge. Simplify it into a cube or sphere, making sure the kneecap protrudes in the front.
Shin: This is the most voluminous part at the back. Simplify the shin into a cylinder that tapers toward the ankle. The calf muscles create a distinctive bulge at the back.
@anatomyarthub
#анатомия#ноги#anatomy#legs
Форма ног зависит от формы костей и мышц. Вы можете в этом убедиться, глядя на анатомические рисунки.
Наши ноги состоят из следующих костей:
1 — крестец;
2 — тазовая кость;
3 — бедренная кость;
4 — надколенник;
5 — малоберцовая кость;
6 — большеберцовая кость;
7 — кости стопы
Самый эффективный способ выучить анатомию ног, как вы помните— это нарисовать скелет ноги, а поверх нее (лучше другим цветом) мышцы. А будущем достаточно схематично обозначать построение ног и накидывать их основную форму
The shape of the legs depends on the shape of the bones and muscles. You can see this by looking at anatomical drawings.
Our legs are made up of the following bones:
1 - sacrum;
2 - pelvic bone;
3 - femur;
4 - patella;
5 - fibula;
6 - tibia;
7 - foot bones
The most effective way to learn the anatomy of the legs, as you remember, is to draw the skeleton of the leg, and on top of it (preferably in a different color) the muscles. In the future, it will be enough to schematically indicate the construction of the legs and outline their basic shape
Аяҡ формаһы һөйәк һәм мускул формаһына бәйле. Анатомик һүрәттәргә ҡарап, быға инана алаһығыҙ.
Аяҡтарыбыҙ түбәндәге һөйәктәрҙән тора:
1 - һигеҙенсе;
2 - янбаш һөйәге;
3 - бот һөйәге;
4 - быуын аҫты ҡунысы;
5 - бәләкәй һаҡаллы һөйәк;
6 - ҙур бурса һөйәге;
7 - табан һөйәктәре
Аяҡ анатомияһын өйрәтеүҙең иң һөҙөмтәле ысулы, иҫләйһегеҙме - ул аяҡ һөлдәһен һүрәтләү, ә уның өҫтөндә (иң яҡшыһы башҡа төҫ) мускулдар. Ә киләсәктә аяҡтарҙың төҙөлөшөн схемалы рәүештә билдәләп, уларҙың төп формаһын һалыу ҙа етә
@anatomyarthub