Для тех кто пишет расширения на 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
🪐 Some of the most unusual stars in the universe are "blue stragglers," like those found in the globular cluster M30. Blue stragglers appear younger and hotter than neighboring stars in their ancient cluster, likely because they formed when two stars merged or stole material from a companion—making them stand out as apparent "youngsters" among a population of stellar elders. ✨
#stars⚡#mergers⚡#clusters⚡#nasa⚡#galaxy⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 Not all galaxies fit the classic spiral or oval shapes—take the galaxy LEDA 074886, located about 70 million light-years away, which stunned astronomers with its rare rectangular structure. Unlike the familiar swirls or smooth ellipses, LEDA 074886’s boxy outline is thought to be the result of a merger between two smaller galaxies, sculpting a cosmic shape almost never seen in the universe. ✨
#galaxies⚡#mergers⚡#shapes⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 The galaxy NGC 7252, also known as the "Atoms-for-Peace" galaxy, displays a wild, tangled structure with long, luminous tidal tails created by the collision of two spiral galaxies. These sweeping arms of stars and gas stretch far from the core, forming loops and shells that resemble atomic orbital patterns, making NGC 7252 one of the most striking examples of how galactic mergers can sculpt galaxies into truly unusual shapes. ✨
#galaxies⚡#mergers⚡#peculiarity⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 In the constellation Dorado, the massive galaxy NGC 1316 bears the scars of cosmic collisions—its shell-like structures and tangled lanes of dust betray a history of devouring smaller galaxies. Radio observations have revealed that this turbulent giant also hosts powerful jets and lobes fueled by a hidden supermassive black hole at its core, making NGC 1316 a remarkable blend of chaos and creation in the southern sky. ✨
#galaxy⚡#mergers⚡#radioastronomy⚡#blackhole⚡#nasa⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
Deribit Attracts Potential Acquirers Attention
Crypto exchange Deribit is drawing interest from potential acquirers, signaling a shift in the M&A landscape for crypto platforms. This comes amid regulatory scrutiny and evolving market conditions. For more details, check the full article here: BBG.
#Crypto#Deribit#Investment#Acquisition#Exchange#Mergers#MarketTrends#Finance#Regulation#Tokens#Trading#DigitalAssets#GlobalFinance#VentureCapital#Tech#Cryptocurrency
Investors Eye Russian M&A Boom
Investment activity in Russia is on the rise, with a surge in mergers and acquisitions along with simplified IPO processes. Founders are encouraged to connect with key strategists and investors to navigate these opportunities effectively. Notably, investor Alexander Radionov, owner of M&A boutique and foodtech companies Broniboy and Bumеrang, shares insights on capital growth and successful exits on his channel. He monitors promising projects and organizes events for founders to facilitate company sales ripe for exit. Explore his channel for valuable resources on capitalization growth and exit strategies.
#Investment#M&A #IPO#Russia#BusinessGrowth#ExitStrategies#FoodTech#AlexanderRadionov#Broniboy#Bumeеrang#Capitalization#InvestorConnections#Mergers#Acquisitions#PrivateEquity#Entrepreneurship#Growth#Success#BusinessSales#MarketTrends