Для тех кто пишет расширения на 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 precise coordinates of Mount Everest’s summit are 27.9881°N, 86.9250°E. Even tiny deviations matter—Everest’s actual peak sits just a few meters southeast of its famed marker. ✨
#coordinates⚡#Everest⚡#mapping⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
Уже сегодня, буквально через несколько часов, а точнее в 11:30 будет уникальнoe событие — живая встреча с героями нашего времени, которые покорили Джомолунгму, высочайшую вершину Земли (8848 м)
А имеено:
• Эдуард Кубатов – Президент Федерации альпинизма и скалолазания Кыргызстана;
• Илим Карыпбеков – известный альпинист и общественный деятель;
• Кадыр Сайдилкан – выдающийся спортсмен и покоритель множества вершин.
Эти выдающиеся личности поделятся своими впечатлениями, расскажут о сложностях и радостях покорения гор, а также о значении альпинизма для Кыргызстана и Mира.
Мы гордимся их достижениями и хотим, чтобы это вдохновляющее событие стало достоянием общественности.
Дата и время: 20 июня 2024 года, 11:30
Место проведения: Толомуш Океева 39/7.
Телефон : 0702722280
Присоединяйтесь, чтобы вместе провести время и поддержать развитие альпинизма и скалолазания в Кыргызстане!
@BishDvizh#альпинизм#Everest
🌎 Mount Everest’s “death zone” begins at 8,000 meters above sea level, where oxygen levels are so low that humans can only survive for hours without aid. Wind chills can drop to –50°C even in summer. ✨
#Everest⚡#altitude⚡#climate
👉subscribe Interesting Planet
👉more Channels
❄️Artel Everest - qulaylikning yangi cho'qqisi!
⚡️Past kuchlanishda ham ishlaydi.
〽️Elektr tokining uzilishlaridan so'ng sozlangan haroratda ishga tushuvchi Auto Restart funksiyasi bilan jihozlangan.
🍃Pultdagi IFeel tugmasi Artel Everestga pult joylashgan xudud haroratini aniqlab xonani samarali sovutish imkonini beradi.
Yangi model quyidagilarni o'z ichiga oladi:
🔇past shovqin tezligi;
⚒tozalash va diagnostika funksiyasi.
🌐 Batafsil: https://artelgroup.org/product/nastennyj-kondicioner-artel-everest-sidaw12he,1179/
___________________________
❄️ Artel Everest – новая вершина комфорта.
⚡️Работает при низком напряжении.
〽️Оснащен функцией Auto Restart, которая перезапускает кондиционер в случае перебоев электричества.
🍃Пульт с I Feel позволяет Artel Everest определять температуру с учетом места нахождения пульта и эффективно охлаждать помещение.
Новинка также имеет:
🔇Низкий уровень шума
⚒Функции самоочистки и самодиагностики.
🌐 Подробнее: https://artelgroup.org/product/nastennyj-kondicioner-artel-everest-sidaw12he,1179/
#ARTEL#EVEREST#yangilik#новинка#кондиционер
🌎 Mount Everest’s summit sits in the world’s highest extreme climate zone, called the “alpine zone,” where temperatures can plunge to –60°C and oxygen levels are a third of sea level. Rapid weather changes can create deadly storms in minutes. ✨
#Everest⚡#alpineclimate⚡#extremes
👉subscribe Interesting Planet
👉more Channels