Регулярно приходится писать и ревьюить код, где используется PySide2-6.
Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ.
Простой пример с кнопкой:
button = QPushButton("Click Me")
button.setMinimumWidth(300)
button.setFlat(True)
button.setStyleSheet("font-size: 20pt")
button.setToolTip("Super Button")
button.clicked.connect(lambda: print("Button clicked"))
Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть)
Этот код делает тоже самое но с помощью Property
button = QPushButton(
"Click Me",
minimumWidth=300,
flat=True,
styleSheet="font-size: 20pt",
toolTip="Super Button",
clicked=lambda: print("Button clicked"),
)
Где это может быть полезно
▫️ Это выглядит более аккуратно и коротко, уже повод использовать
▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка.
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight))
layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked")))
widget.show()
Либо так
widget = QWidget(minimumWidth=400)
layout = QHBoxLayout(widget)
for wd in (
QLabel("Button >", alignment=Qt.AlignRight),
QPushButton("Click Me", clicked=lambda: ...)
):
layout.addWidget(wd)
widget.show()
▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs.
kwargs = {"text": "Hello " * 30, "wordWrap": True}
my_label = QLabel(**kwargs)
Как получить полный список доступных свойств?
Эта функция распечатает в терминал все свойства виджета и их текущие значения
def print_widget_properties(widget):
meta_object = widget.metaObject()
for i in range(meta_object.propertyCount()):
property_ = meta_object.property(i)
property_name = property_.name()
property_value = property_.read(widget)
print(f"{property_name}: {property_value}")
#tricks#qt
🪂New airdrop: Wrapped Bitcoin
🟢
💰 Reward: 5 #WBTC ($10)
👥 Referral: 10 $WBTC ($20)
🕰 Distribution: within 2 days
🔗Airdrop Link:https://t.me/WrappedBitcoinAirdropBot
-Complete all tasks of the airdrop
-Complete all tasks of the airdrop
-Submit your BSC wallet address
-For All Random lucky people
-The top 200 referrals can each get more WBTC tokens
Done ✅Done✅Done✅Done✅
⚠️Please remember: Only participate in completely free airdrops, never spend any penny for airdrop tokens
🚀 Major WBTC Investor Exits Position After 15 Hours with $12,000 Loss
An analyst @ai_9684xtpa posted on X that a significant investor, identified by the wallet address 0x0EA225f92408532403FbFE5357d5d94676F34a54, exited their position in Wrapped Bitcoin (WBTC) just 15 hours after entering. The investor initially purchased WBTC at a cost of $72,720.78, investing a total of $4.7 million. However, four hours ago, they sold 64.7 WBTC at $72,536, incurring a loss of $12,000.
#WBTC#Bitcoin#Crypto#Investment#Loss#Blockchain#Cryptocurrency
🟢شرکت دونالد ترامپ World Liberty Financial توکن های #ETH، #WBTC، #TRX، #AAVE، #LINK و #ENA را در 4 روز گذشته به قیمت 181،000،000 دلار خرید✔️
@ScorpionX_Co
Trump Family Crypto Project Moves Millions
The Trump family crypto project, World Liberty, executed a significant transaction today: exchanging 103.1493 WBTC for 3,075.198 ETH (approx. $9.9M) and 16.6199 WBTC for 1.7M USDT via Cow Protocol. Additionally, 11,917.635 ETH (valued around $38.4M) was transferred to Coinbase Prime.
Separately, $XRP has crossed a market cap of $155 billion.
Read more here.
#Trump#Crypto#WBTC#ETH#USDT#Coinbase#XRP#MarketCap#Blockchain#DigitalAssets#Investment#Finance#DeFi#CowProtocol#WorldLiberty#CryptoMarket#Altcoins#TokenExchange#CryptoTransactions#VC
😎The wrapped #BTC market has attracted close attention. Currently, #WBTC contributes a huge share to the #Ethereum#DeFi ecosystem. There are other options on the market. For example, #Coinbase and #Mantle announced the launch of #cbbc and #BBC. #BTCB, launched by #Binance, and #mBTC, launched by #Merlin, also have market sizes of $3.9 billion and $1.3 billion.
🦄#Uniswap вводит дополнительную комиссию в 0.15% за своп основных токенов через Интерфейс сайта uniswap.org
Очень последовательное убивание репутации Uniswap, после вброса про #KYC.
👑 На какие токены будет распространяться комиссия: #ETH , #USDC, #WETH, #USDT, #DAI, #WBTC, #agEUR, #GUSD, #LUSD, #EUROC, #XSGD
Knowledge Baze:
- Первое, что нужно знать пользователю в #DeFi, что фронтенд (сайт) проекта и протокол - это две разныe инфаструктуры. На сайте проекта можно сделать все что угодно и повесить любые комиссии, а на протоколе сделать ничего нельзя (ну кроме как взломать его);
- В случае с Uniswap есть два ЛПР - Uniswap Team (команда во главе с Hayden) и Uniswap Governance (ДАО протокола);
- Финансовые потоки и сами проекты никак не связаны друг с другом. Uniswap Team не имеет влияния на протокол, а только разрабатывает его новые версии и поддерживает сайт uniswap.org, а Uniswap Governance через токен и голосование может вводить комиссии и управлять самим протоколом.
Ситуация с комиссиями:
Uniswap Governance (DAO) уже давно пытается ввести комиссии на уровне самого протокола, для сбора доп.денег в токен UNI и treasury протокола. Постоянно обсуждаются такие инициативы, но дело с мертвой точки не двигается. Тут есть несколько проблем:
- комиссии, которые мог бы собирать протокол - крошечные и не повлияют никак на поддержку миллиардной капитализации $UNI токена;
- увеличивая комиссии протокола, провайдеры ликвидности начинают получать меньше дохода, что делает юнисвоп менее привлекательным чем другие DEX и может в долгосроке дать “капитальную течь”;
- нет налоговой регуляции в США для такого типа распределения в DeFi, это не дает возможности американцам правильно считать capital gain и taxes.
А вот как раз комиссий на фронтенде, которые забирает себе юрлицо Uniswap, как доход со свопов, ввести не представляет никакой сложности.
А что делают конкуренты:
🦄#1inch собирает комиссии используя новый инструмент Fusion (~0.5%)
🦊#Metamask в своих приложениях и расширениях собирает до 1% комиссий за своп - самый невыгодный курс обмена на рынке DEX, вообще не рекомендую там свопать
.. и не забываем про #MEV и сендвич атаки, которые иногда забирают до 100% комиссий с транзакции себе.
Как не платить DEXкомиссии в DeFi:
Самый простой и надежный способ - это использовать агрегатор HyperDEX, который работает напрямую через контракты #Uniswap (минуя любые доп.комиссии) и при этом дополнительно роутит ваши транзакции через пуллы различных дексов с наилучшей ликвидностью, что автоматически гарантирует вам лучший результат за своп.
Pro Tips:
Для защиты от MEV ботов и атак жетально использовать приватные RPC, например RPC от Ethermine и Flashbots. Устанавливаются вручную в ваш кошелек.
🔥 Рынок #DEX движется сейчас в двух направлениях - с одной стороны есть краткосрочные игроки, которые снижают комиссии и вознаграждают LP своими токенами (такие DEX в долгосрочной конкуренции всегда умирают) и есть #Uniswap который плавно внедряет комиссии и которые позволяют ему построить стабильный кеш флоу на долгие годы и пережить любых агресcивных конкурентов.