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

Резултати

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

Пребарај: #foundry

当前筛选 #foundry清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #3743 · 29.12.2024 г., 10:00

Bitcoin Price Peak Expected in 2025 The founder of Pantera, whose Bitcoin fund saw a staggering 130,000% return, forecasts August 2025 as the peak for this cycle, anticipating a bull market in 2025 followed by a decline in 2026. He believes Bitcoin could increase tenfold over the next 5-10 years. Meanwhile, in mining news, Foundry USA Pool mistakenly refunded an erroneous transaction fee of 8.18 BTC (about $777,000), which was 91,127 times higher than normal. Additionally, Volatility Shares has applied to launch futures-based Solana ETFs, signaling potential market interest despite the absence of a current trading platform for these products. #Bitcoin#Pantera#Crypto#ETF#Solana#Mining#Forecast#BullMarket#BearMarket#Foundry#VolatilityShares#BTC#CryptoNews#Investing#MarketTrends#Blockchain#TransactionFee#Finance#Cryptocurrency #2025 #2026

Venture Village Wall 🦄

@venturevillagewall · Post #3785 · 04.01.2025 г., 01:00

US Dominates Bitcoin Mining Landscape The US leads with over 40% of Bitcoin's hashrate. Foundry, the largest mining pool, holds 36.5% share, raising concerns over centralization. MicroStrategy aims to raise $2B through preferred stock to enhance its Bitcoin holdings, part of its '21/21 Plan'. Expected offer in Q1 2025, pending market conditions. Read more: CoinTelegraph | MicroStrategy Press | The Block | tl;dr #Bitcoin#Mining#US#Foundry#MicroStrategy#CapitalRaise#PreferredStock #21/21Plan #Hashrate#Crypto#Finance#Investment#Blockchain#StockMarket#USDC#Billion#Q12025#MarketConditions#WhaleAlert#BlackRock#VC

Venture Village Wall 🦄

@venturevillagewall · Post #3789 · 04.01.2025 г., 13:00

Mining Project Linked to Notcoin? Emerging mining project possibly linked to The Open Builders, but not confirmed. Design resembles their work. Early supporters encouraged to invest, but caution advised due to potential volatility. Bitcoin has hit a new all-time hashrate of 1000 EH/s, with 40% concentrated in the US led by Foundry USA at 36.5% share. China still holds a significant portion of Bitcoin mining. In other news, Coinbase is considering tokenized stocks for its Base blockchain, while Ethena announces new products including an institutional synthetic stablecoin and a Telegram-based app. Phantom wallet team denies rumors of an upcoming airdrop or token launch. #Mining#Bitcoin#Cryptocurrency#Notcoin#TheOpenBuilders#Ethena#Stablecoins#PhantomWallet#COIN#Base#Funding#CryptoPayments#Investing#Hashrate#Blockchain#DeFi#CryptoNews#Tech#US#China#Foundry