Для тех кто пишет расширения на 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
🔤Камқонликни олдини олиш учун қуйидагилар тавсия этилади:
🍲Тўғри овқатланинг - гўшт, жигар, балиқ, яшил барглар, дуккаклилар, ёнғоқлар, цитрус мевалари, қулупнай, малина ва бошқа резаворлар каби темир ва С витамини ўз ичига олган озиқ-овқатларни рационга киритинг.
🏃🏻♀️Соғлом турмуш тарзига риоя қилинг - мунтазам равишда машқ қилинг, етишмовчиликларни текшириб витаминларни қабул қилинг.
🧑🏻🔬Профилактик тиббий кўриклардан ўтиб туринг, шу жумладан қондаги гемоглобин ва темир миқдорини аниқловчи таҳлилларни йилда бир маротаба топшириб туринг.
🚫Спиртли ичимликларни чекланг, улар танадаги темирнинг сўрилишини камайтириши мумкин.
💊Агар керак бўлса, шифокор томонидан белгиланган темир препаратларини қабул қилинг.
Анемия бир неча сабабларга кўра юзага келиши мумкинлигини тушуниш муҳимдир. Жумладан темир, витаминлар этишмаслиги ва баъзи касалликлар. Шунинг учун, агар сизда анемия белгилари мавжуд бўлса, ташхис қўйиш ва даволаш учун шифокорга мурожаат қилишингиз керак.
🩺Doctor Ziyod | #hematology#anemia
❓Нима учун камқонликни аниқлашда фақат гемоглобинга қараш нотўғри?
⠀
🔤Камқонлик - бу қондаги гемоглобинни миқдори пасайиши билан кузатилувчи клиник синдром (белгилар гуруҳи). Кўпинча параллел равишта эритроцитлар сони ҳам камаяди ва кислород ташилиши бузилиб, гипоксия (кислород етишмовчилиги) юзага келади.
⠀
🔤Камқонлик мезонлари:
Гемоглобин эркакларда 130 г/л, аёлларда 120 г/л дан пастроқ бўлиши.
Лекин камқонлик доим фақат темир танқислиги билан боғлиқ бўлмайди. Бошқа тури - бу мегалобласт анемия. Бунда В12 витамини ва фолий кислотаси етишмовчилиги ортидан нуклеин кислоталар (ўша ДНКни ҳосил қиладиган моддалар) яралиши бузилади.
Батафсил қилинган умумий қон таҳлили камқонликни тури ҳақида бирламчи маълумотни беради.
В12 ва фолий кислотаси етишмовчилигида MCV, МСН ва MCHC юқори бўлади. Темир танқис анемияда эса, аксинча паст бўлади.
⠀
В12 дефицит анемияда эозонофиллар, моноцитлар сони пасаяди, лимфоцитлар нисбатан кўпаяди. Беморларни ярмида тромбоцитлар сони ҳам камаяди.
⠀
🔤Темир танқис камқонликни аниқлаш учун топширилади:
- Умумий қон таҳлили
- Ферритин (қонда)
- Қон зардобидаги темир миқдори
• Ферритин танадаги темир заҳираларини акс эттиради. Ферритин паст бўлса, демак темир танқислиги бор. Бунда бошланғич даврда гемоглобин нормада бўлиши мумкин!
⠀
Ферритин 40 нг/мл дан паст бўлиб, гемоглобин нормада бўлса - латент темир етишмовчилиши дейилади.
⠀
Ферритин 40 нг/мл дан паст бўлиб, гемоглобин ҳам паст бўлса - темир танқис анемия дейилади.
⠀
• Зардобдаги темир қонда сузиб юрган темир ва тўқималрдаги заҳиралар миқдорини кўрсатади. Оптимум: 20-25 мкмоль/л.
Таҳлилларда В12 дефицитининг белгилари бўлса, қўшимча шу витаминни аниқлаш учун таҳлил топширилади.
🩺Doctor Ziyod | #hematology#anemia
👀Қонни кўз билан кўриб қуюқ дейиш - катта ҳато!
Баъзида венадан қон ола туриб ҳамширалар "Қониз қуюлиб кетибти" дейишади. Уни устига фақат шу гапга асосланиб одамлар қон суюлтирувчи препаратларни ичиб юришади.
⚡️Бундай ўзбошимчалик жиддий муаммоларга олиб келиши мумкин. Мисол учун, ўткир қон кетиш ҳолатларига.
Қон топширадиган кун эрталаб овқат ейиш мумкин эмаслигини ҳамма билади. Лекин нимагадир одамлар сув ичиш ҳам мумкин эмас деб ўйлашади.
Тунда сув ичмайсиз ва уйғонганизда нисбатан сувсизланган бўласиз. Шу ҳолда лабораторияга борсангиз, қонда суюқлик миқдори нисбатан пасайгани ҳисобига, у қуюқроқ кўринади.
Лекин бу тромб ҳосил бўлиши ва бошқа муаммоларни ҳавфини оширмайди. Шунчаки бу организмдаги табий ўзгаришлар.
☝️Аслида қуюқ қон деб уни ивиш ҳусусияти билан адаштиришади. Ивиш кўрсаткичлари эса фақат ва фақат коагулограмма ва умумий қон таҳлилидаги баъзи кўрсаткичларга қараб аниқланади!
🩺Doctor Ziyod | #hematology#lab