TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #zkevm

当前筛选 #zkevm清除筛选
Algebra DEX Engine

@cryptoalgebra · Post #2098 · 14.11.2024 г., 15:25

Algebra is powering some of the top DEXes by TVL across various EVM chains! Here’s the latest: ⚔️ Camelot DEX: #2 on Arbitrum & #1 across Orbit chains 💨 QuickSwap: #1 on Polygon #zkEVM, #2 on Polygon & XLayer ⚖️ THENA: #2 on BNB chain 🌿 Hercules DEX: #1 on Metis L2 🔪 Bladeswap: #3 on Blast 👾 Glyph Exchange: #2 on Core DAO 🖤 Lynex: #2 on Linea 🍣 Kim Protocol: #1 on Mode Network Algebra continues to conquer DeFi! Check it out: defillama.com/chains

Hashtags

Nomis | Onchain Reputation Protocol

@nomis_protocol · Post #481 · 17.10.2024 г., 17:59

Hey fam!💜Have you checked out Pentagon Testnet Score in the rewards hub? Well, you should! Mint your Score and grab a slice of $PEN -->nomis.cc/pentagon-testnet🪂 Pentagon Games is #zkEVM that powers the next generation interactive game & social experiences. We're teaming up to drop rewards for top scorers during the Pentagon Games Testnet 👾🎮 👑 Higher Score = bigger shot at the Royal Badge + even more $PEN🪂 New here? No sweat, plenty of time to grind it out and level up! 💠Nomis tApp | X | Discord | YouTube | Check Scores⚖️

Hashtags

Crypto M - Crypto News

@CryptoM · Post #65448 · 13.04.2026 г., 09:14

🚀 Symbiosis to Cease Support for Polygon zkEVM Network Cross-chain protocol Symbiosis will discontinue support for cross-chain swaps on the Polygon zkEVM network starting May 16. According to Foresight News, users holding liquidity on this network are advised to withdraw their funds before the network is fully shut down. The liquidity withdrawal feature will remain available until the network is completely disabled. #Symbiosis#Polygon#zkEVM#CrossChain#Liquidity#ForesightNews#NetworkShutdown