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

Резултати

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

Пребарај: #bitcoinlightning

当前筛选 #bitcoinlightning清除筛选
Telegram & TON NEWS

@all_telegram_ton_news · Post #23280 · 28.02.2026 г., 12:55

🍰🚀Cake Wallet v6.0.0 is HERE! The Ultimate Privacy Powerhouse Just Got a Massive Upgrade!🥳 If you care even a little about privacy, freedom, and controlling your own money, Cake Wallet is now THE MUST-HAVE app on your phone. Period. This update takes it to a whole new level – sleek new design, lightning-fast features, and tools that scream "FREEDOM!" Let's dive into why this is a game-changer for Nostr users, freedom fighters, privacy enthusiasts, and anyone tired of Big Brother watching their wallet. 🕵️‍♂️🔒 1/ First off: Monero (XMR) Mastery – Cake Wallet has always been the king of Monero. Private by default, untraceable transactions, background sync, and automatic subaddresses. Send and receive XMR without leaving a trail. If you're a freedom fighter dodging surveillance or just value anonymity, this is your shield. No KYC, no BS. Just pure privacy. 🧡#Monero 2/ Bitcoin Silent Payments: Stealth Mode Activated!🤫 Bitcoin just got a privacy glow-up. Silent Payments let you receive BTC without reusing addresses – no more linking transactions to you. Combined with Payjoin for fee-saving, privacy-preserving sends. It's like Bitcoin on steroids for discretion. Perfect for those "off-the-grid" vibes. 3/ And NOW: Bitcoin Lightning Network via Spark!⚡💥 Instant, low-fee Bitcoin transactions? Yes! Zap sats across the globe in seconds without the high on-chain costs. This is HUGE for Nostr people – seamless zaps, tips, and micropayments on your favorite decentralized social network. Freedom fighters, rejoice: Fast, cheap, and private value transfer. No more waiting for confirmations. Zap that freedom! #Nostr#BitcoinLightning 4/ Built-in Swaps: Freedom to Trade Anywhere🔄 Swap XMR, BTC, ETH, LTC, ZEC, and more right in the app – no limits, no centralized exchanges spying on you. Jupiter DEX integration for Solana swaps, cross-chain bridges, and more. Go from BTC to XMR in taps. Privacy-preserving trades that keep your business YOUR business. Oh, and it's all non-custodial. Your keys, your coins. 🗝️ 5/ Zcash Shielded Privacy + More Chains🛡️ Added full Zcash support with auto-shielding and unified addresses. Plus Arbitrum, Base, BSC for low-fee EVM fun. Multi-chain without the hassle. For freedom tech lovers, this means more tools in your arsenal against censorship. 6/ Why It's a Must-Have for Nostr Folks & Freedom Fighters🌐 Nostr runs on Bitcoin and Lightning – Cake makes it effortless. Zap posts, support creators, all while keeping your wallet private with XMR swaps. Fighting for freedom? This app is built for you: Open-source, no data collection, Tor support, hardware wallet integration (Trezor, Ledger, BitBox). Duress PIN for safety. It's not just a wallet; it's a statement. 🫡 Update NOW: iOS, Android, Desktop. Free forever. Open-source. No telemetry. Download at https://cakewallet.com/ and taste the freedom! 🥲🫥🍰 What are you waiting for? Join the privacy revolution. #CakeWallet#Privacy#FreedomTech#Crypto (Shoutout to the Cake team for non-stop innovation! Sources: Cake Wallet GitHub releases and blog for v6.0.0 details.)