Для тех кто пишет расширения на 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
Recent travellers to/through Uganda within the past 21 days & are experiencing symptoms associated with #Ebola should call their state ministry of health or 6232 for accurate diagnosis.
DO NOT visit health facilities to avoid the risk of spread through public/private transport.
📢#Ebola Travel Advisory
⛔Avoid all but essential travel to UGANDA
🤒Avoid contact with obviously sick persons/#EVD suspected cases
📞Call 6232 (free of charge) if you have recently returned from Uganda within the past 21 days & feel symptoms of #EVD
🔗
https://ncdc.gov.ng/news/423/public-health-advisory-following-declaration-of-ebola-virus-disease-outbreak-in-uganda
🚨 PUBLIC HEALTH ADVISORY 🚨
The Nigeria Centre for Disease Control and Prevention (NCDC) has announced that Nigeria currently has no confirmed case of Ebola Virus Disease (EVD), following the ongoing outbreak in the Democratic Republic of the Congo and a reported imported case in Uganda.
🦠 Ebola Virus Disease is a severe viral illness transmitted through direct contact with infected bodily fluids or contaminated materials.
Common symptoms include:
✅Fever
✅Headache
✅Weakness
✅Muscle pain
✅Vomiting
✅Diarrhoea
✅severe cases, unexplained bleeding.
The NCDC is actively strengthening surveillance, laboratory readiness, infection prevention, and public awareness efforts across the country. Nigerians are advised to remain calm, maintain good hand hygiene, avoid misinformation, and report unusual illnesses promptly.
Stay informed through official public health channels only. Together, we can strengthen preparedness and protect public health.
#Ebola#PublicHealth#NCDCNigeria#HealthSecurity
Chinese scientists have created a mutant virus by combining a livestock disease with Ebola, resulting in severe symptoms and the death of hamsters. The engineered virus caused systemic diseases and organ failure in the infected hamsters, including impaired vision and scabbing of the eyeballs. The researchers claim their aim was to find safe animal models for studying Ebola symptoms in a lab. If another deadline pandemic emerge, it’s probably from China again.
#Ebola#LabResearch#Biosafety
https://www.dailymail.co.uk/sciencetech/article-13377471/Hamsters-infected-virus-Ebola.html
#Ebola Virus Disease (EVD) has a high fatality rate, but early detection, supportive care, and strict adherence to preventive measures can significantly reduce risks.
⚠️ Protect yourself and others by following health advisories, practicing good hygiene, and reporting any suspected cases immediately.
#EbolaAwareness#HealthyLiving#NCDCNigeria
#Ebola is a serious infectious disease that can spread rapidly if not recognized and contained on time. The signs and symptoms usually appear 2–21 days after exposure.
⚠️ If you or someone around you notices these symptoms, do not ignore them. Seek medical attention immediately and avoid contact with others until cleared by health professionals.
🛡️ Protecting yourself also protects your family, friends, and community.
Let’s work together to stop the spread of Ebola.
#EbolaAwareness#HealthyLiving#StaySafe
#Ebola is caused by the Ebolavirus — a group of viruses with several species, including Zaire, Sudan, Bundibugyo, Taï Forest, and Reston ebolavirus (which affects animals but not humans).
Knowing the cause helps us strengthen prevention and response efforts. 💪🏾
Stay Safe, Stay Protected!
#EbolaAwareness#HealthSecurity#NCDCNigeria
#NCDCUpdate
We have published an #EbolaVirusDisease care kit for incoming travellers from a country with ongoing transmission of #Ebola.
The care kit includes guides to monitor your temperature and symptoms.
Download & share via
https://ncdc.gov.ng/themes/common/docs/protocols/300_1669297182.pdf
#StaySafeStayHealthy
#Ebola doesn’t spread through the air, it spreads through contact!
Avoid direct contact with:
➡️ Blood or body fluids of an infected person
➡️Contaminated objects or medical tools
➡️ Infected animals or bushmeats.
⚠️If you feel unwell after contact, report to a healthcare facility immediately.
Stay alert, Stay safe!
#NCDCNigeria#EbolaPrevention#PublicHealth#StayInformed