Для тех кто пишет расширения на 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
The average lifespan of a goldfish (Carassius auratus) is 10-15 years, with some varieties living into their thirties when properly cared for.
However, one male goldfish named Tish (1956-1999) lived to the remarkable age of 43, making him the world’s oldest goldfish ever.
[Read more]
@googlefactss
#FunFact#AnimalFacts#fish
Male llamas grow sharp canines called ‘fighting teeth’ that they use to show who's boss and settle disputes with other males. @googlefactss#Llamas#AnimalFacts#Nature🦙🦷
Cats have three types of color-detecting cones, just like humans, but see colors less vividly. They perceive blues and greens well, but reds and pinks may appear grayish. Their vision excels at detecting subtle movement, especially in dim light. 🔵🟢🌙
[Read more]
[See here]
@googlefactss#CatVision#AnimalFacts#Science
Beavers build dams to protect themselves from predators like bears and wolves. They live in lodges, not in the dam itself, on deep ponds made by the dams. These lodges have underwater entrances, so beavers can safely enter and leave without being seen. The pond keeps land animals away and the lodge is a dry home and food storage. 🦫🌊🌿@googlefactss#Beavers#Wildlife#Nature#AnimalFacts
Llamas spit to protect themselves, keep their place, or show power. Males spit in fights over females. Females spit to stop males. They also spit when annoyed or mistreated. Llama spit has saliva and partly digested food. It can fly up to 10 meters (33 feet). 🦙💨
[Source]
@googlefactss#Llamas#AnimalFacts#Spitting
Penguins have several group names. A group in water is called a “raft.” On land, it is called a “waddle.” A large group of penguins living or breeding together is called a “colony.” The place where they gather to breed is also called a “rookery.”
🐧🌊🏝️🐣
[Read more]
@googlefactss
#Penguins#AnimalFacts#Wildlife#DidYouKnow
Elephants can “listen” with their feet. Their foot pads have special nerve receptors that detect ground vibrations, including very low-frequency infrasound. Vibrations from other elephants’ rumbles or footsteps travel through the ground. Signals move through their bodies to the brain. Vibrations can also reach the inner ear through bone conduction. This helps elephants communicate over long distances and sense distant movement.
🐘🌍👣🔊
[Read more]
@googlefactss
#Elephants#AnimalFacts#Wildlife#Nature#Science#DidYouKnow
Hippos secrete red oily "blood sweat" that protects their skin from sun and germs. It keeps their skin moist and healthy.
🦛☀️
[Read more]
@googlefactss
#Hippos#AnimalFacts#Nature#Wildlife#SunProtection
🐾 Capybaras are the world's largest rodents — social, semi-aquatic animals that live in groups in South America. They're so calm that other animals often sit on them, and they can even sleep underwater! 🌊
[Learn more]
@googlefactss#Capybara#AnimalFacts#Nature#Rodents#Wildlife
Whale sharks have tiny teeth covering their eyeballs. 🦈👁️
These "dermal denticles" act like protective armor for their protruding, lidless eyes.
[Source]
@googlefactss#AnimalFacts#Sharks#MarineBiology#NatureIsWild
Snow leopards are sometimes seen biting or holding their own tails. Scientists think they may do this to stay warm in cold mountain habitats or to play. A snow leopard’s long, thick tail also helps it balance on steep rocky cliffs and can wrap around its body like a blanket.
🐆❄️🐾
[Read more 1]
[Read more 2]
@googlefactss
#snowleopard#animalfacts#wildlife#naturefacts#bigcats#didyouknow