Для тех кто пишет расширения на 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
Atoms Research | ꘜ
➡️Etherscan 10th Anniversary Campaign
• Earn points in limited-time campaigns
• Redeem them for rewards as they roll out
• Show off your special badge across the explorer
Campaign runs until Aug 31, 2025 (T&Cs apply)
🔗 Farm points here
More details here
#etherscan
💬Discuss in the chat
👨💻 Блокчейн-обозреватель Etherscan представил бета-версию инструмента Code Reader на базе искусственного интеллекта для анализа исходного кода смарт-контрактов.
В качестве примеров использования ИИ-решения разработчики назвали:
✔️ обзор кода для лучшего понимания его внутренней работы;
✔️ получение списка функций чтения/записи данных в Ethereum с подробными объяснениями;
✔️ изучение интеграции dapps.
#Etherscan#AI
#gwei#ETH#Etherscan
🔥Что такое газ в Ethereum и как он влияет на транзакции?
В экосистеме Ethereum термин «газ» играет ключевую роль, определяя стоимость выполнения транзакций и операций внутри сети. Понимание концепции газа необходимо для эффективного взаимодействия с блокчейном Ethereum.
❓Понятие газа в Ethereum
Газ в Ethereum — это единица измерения вычислительных ресурсов, необходимых для выполнения операций, таких как транзакции или запуск смарт-контрактов. Каждая операция в сети требует определенного количества газа, пропорционального сложности и объему вычислений. Этот механизм предотвращает перегрузку сети и защищает ее от потенциальных атак.
😏Как рассчитывается стоимость газа
Стоимость газа определяется двумя основными параметрами: лимитом газа и ценой газа.
Лимит газа: максимальное количество газа, которое пользователь готов потратить на выполнение операции. Например, стандартная транзакция перевода ETH между адресами требует лимита газа в 21 000 единиц.
Цена газа: стоимость одной единицы газа, выраженная в Gwei. 1 Gwei равен 0,000000001 ETH. Цена газа зависит от текущей загруженности сети; при высокой активности она увеличивается, чтобы стимулировать майнеров обрабатывать транзакции с более высокими комиссиями.
Общая комиссия за транзакцию рассчитывается путем умножения лимита газа на цену газа. Например, при лимите газа 21 000 и цене газа 20 Gwei, комиссия составит:
21 000 * 20 Gwei = 420 000 Gwei = 0,00042 ETH
🙏Факторы, влияющие на стоимость газа
Стоимость газа может значительно варьироваться в зависимости от нескольких факторов:
Загруженность сети: в периоды высокой активности, такие как популярные ICO или запуск новых децентрализованных приложений (dApps), спрос на вычислительные ресурсы увеличивается, что приводит к росту цен на газ.
Сложность операций: взаимодействие со смарт-контрактами или выполнение сложных операций требует большего количества газа по сравнению с простыми транзакциями.
Приоритет транзакции: пользователи могут установить более высокую цену газа, чтобы их транзакции были обработаны быстрее, особенно в загруженные периоды.
🤑Способы оптимизации затрат на газ
Чтобы минимизировать расходы на газ, рекомендуется:
Отслеживать загруженность сети: планировать транзакции в периоды низкой активности, когда цены на газ обычно ниже.
Устанавливать оптимальную цену газа: использовать сервисы мониторинга, такие как Etherscan Gas Tracker, для определения текущих цен на газ и выбора оптимальной стоимости для вашей транзакции.
Оптимизировать смарт-контракты: разработчики могут улучшать код своих смарт-контрактов, чтобы снизить потребление газа при их выполнении.
Понимание механизма газа в Ethereum позволяет эффективно управлять затратами и обеспечивает более плавный опыт взаимодействия с сетью.
👉Чтобы быть в курсе последних новостей и аналитики в мире криптовалют, подписывайтесь 👍на наш канал.
___________
@MirraChannel😎
🚀 Etherscan Enhances Contract Page with New Features
Etherscan has announced a revamp of its contract page, introducing an IDE-style code browser. According to Foresight News, the update includes features such as file tree navigation, multi-file tabs, contract outline jumping, and cross-file keyword search.
The redesign also improves the interaction interface for reading and writing contract pages, aiming to enhance the user experience in reading and operating smart contracts. Users can now switch to full-screen mode and open matching contract codes directly in Blockscan and Ethereum Remix for editing.
#Etherscan#SmartContracts#Blockchain#Ethereum#CodeBrowser#DeveloperTools#Crypto#IDE#BlockchainDevelopment#TechUpdate#ETH