Регулярно приходится писать и ревьюить код, где используется 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
#SCR
Scroll торгуется с капитализацией около $8,16 млн
Scroll (SCR), первый проект, который торговался на Binance Premarket, сейчас оценивается всего примерно в $8,16 млн.
За последний год токен упал примерно на 83%.
Контраст особенно заметный на фоне прошлого раунда.
В 2023 году Scroll привлекли $50 млн при оценке $1,8 млрд.
При этом сам проект долго считался одним из самых сильных имен в Ethereum-экосистеме.
Vitalik и Ethereum Foundation не раз позитивно отзывались о Scroll, а сам проект часто называли одним из ориентиров для zkEVM в Ethereum.
🚀 Ethereum Layer 2 Network Scroll Faces Overcharging Issue
Ethereum Layer 2 network Scroll has reportedly overcharged users by more than $50,000 in transaction fees over approximately four days. According to ChainCatcher, this occurred after the Scroll team manually increased two rate multipliers in their gas price oracle six times within six days, each time raising them by 2 to 10 times. This adjustment cumulatively increased the L1 data cost parameter to 1,280 times its original benchmark.
Approximately 139,000 transactions were affected, with the total cost originally estimated at around $280, but users were charged over $50,000. The majority of these transactions were automated by bots. L2BEAT clarified that the overcharging was not due to a sequencer issue but resulted from multiplier adjustments executed through a multi-signature wallet by the team. This incident has raised questions about whether Scroll previously subsidized users with below-cost rates to maintain activity.
Data from DeFiLlama indicates that Scroll's total value locked (TVL) currently stands at $24 million, a significant decline of 96% from its peak of $585 million in October 2024. As of the time of reporting, Scroll has not publicly responded to the issue.
#Ethereum#Layer2#Scroll#Overcharging#GasFees#Blockchain#DeFi#TVL#CryptoNews#TransactionFees#ETH#SCR
🚀 Scroll Users Face Excessive Transaction Fees Due to Multiplier Increases
Scroll users incurred over $50,000 in additional transaction fees following six manual multiplier increases that elevated Layer 1 data charges to 1,280 times the original baseline. According to NS3.AI, L2BEAT reported that approximately 139,000 transactions were impacted over a span of roughly four days, with the baseline cost estimated at around $280. On April 9, the team reduced both multipliers by 160 times. Etherfi Cash bots contributed approximately $35,000 of the excess fees during etherfi's migration to Optimism.
#Scroll#TransactionFees#MultiplierIncrease#Layer1#L2BEAT#NS3AI#Etherfi#Optimism#Crypto#Blockchain#SCR