TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #173 · 28 окт.

Для тех кто пишет расширения на 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

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #geoip

当前筛选 #geoip清除筛选

#小葵花妈妈课堂#GEOIP 当我们谈论起一个IP的地理位置,似乎总会出现很多不同的答案,你是否困惑过这些相差十万八千里的答案是从何而来? IP地址的地理位置并不像手机号有一个清晰且固定的归属地。实际上,它更多依赖于互联网的共识。当一个IP地址首次被分配,它在 地区互联网注册管理机构(RIR) 中获得了一个官方的地理位置。但由于全球有五个这样的机构,加上一些历史原因,大家通常不会去这些官方数据库查询IP地址的位置。 这时候就冒出来了一批非官方、民间的地理位置数据库,他们通过查询RIR数据库、监测BGP协议、人工修正等方式来确定IP地址的地理位置,并提供查询接口。这些第三方数据库通常比官方数据库更易用、更新更快、定位更精准,因此被企业和个人广泛采用。但由于这些第三方数据库良莠不齐,存在数据的错误、过时,因此,在不同的网站或应用中查询同一IP地址可能会得到不同的结果。 目前,规模最大且较为权威的第三方数据库是Maxmind,像Cloudflare就使用了Maxmind的GEO数据库。一些大型公司,如谷歌,有时会自行维护一套GEO数据库以供定制化服务,所以会比较容易出现送中这种情况,但如果你在谷歌的后台固定了IP地址,那就可以基本杜绝送中的出现。