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

Резултати

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

Пребарај: #validation

当前筛选 #validation清除筛选
EdgeMarket.AI 📣

@edgemarketai · Post #8121 · 22.04.2026 г., 08:31

🔥 NEW MARKET LIVE Atlético Madrid vs Arsenal Different systems. One outcome. 👉https://edgemarket.ai/bnb/football/who-will-win-arsenal-or-atltico-madrid/statistics/69e5ef7bdcd75d8e46236096 AI signal is live. Validate it using BETON. Liquidity flows through $SIGNAL. Drop your pick 👇 ⚽ Atlético ⚽ Arsenal #EdgeMarket#Football#Crypto#AI#Validation#SIGNAL

EdgeMarket.AI 📣

@edgemarketai · Post #8125 · 22.04.2026 г., 18:04

🚨 EdgeMarket Validation is LIVE This is where truth gets decided. Every event on EdgeMarket doesn’t end with AI… It gets verified by the community. Now it’s your turn. 🧠 AI creates the market 👥 You validate the outcome 🏆 Truth earns BETON +50 BETON available for accurate validation Points automatically added to your Telegram ID balance in the EdgeMarket BETON Leaderboard This is not guessing. This is proof. If you’re early, you understand: Validation = Power Join the validation layer now 👇 Be part of the system that defines what is true. #EdgeMarket#BETON#Validation#AIOracle#Web3#TruthEconomy

Venture Village Wall 🦄

@venturevillagewall · Post #4049 · 01.02.2025 г., 22:00

Telegram Takes Over Blockchain Control Telegram is ramping up its control over the TON blockchain by increasing the number of million-TON validators it operates. The minimum amount required to participate in validation has risen from 414K to 500K TON since December. This consolidation suggests a shift towards centralized management. Telegram has added 25 new validators in January, boosting its share of validators to over 66%. This move may simplify blockchain upgrades but raises concerns over decentralization. Telegram appears to be monetizing TON more directly, potentially selling it at discounts while maintaining income from accumulated TON investments. #TON#Telegram#Blockchain#Crypto#Validation#Decentralization#Investing#DigitalCurrency#Transparency#Ecosystem#VC#Finance#Investment#Tokens#Cryptocurrency#Web3#Technology#Governance#Markets#Assets

EdgeMarket.AI 📣

@edgemarketai · Post #8086 · 31.03.2026 г., 11:54

The next layer of EdgeMarket is live. We’re introducing community validation for real world events feeding verified truth directly into AI systems. Every validation strengthens the network. Every correct signal earns rewards. ⚡ Validate events 🧠. Train AI with real data 💰 Earn $BET This is how decentralised intelligence is built. Signal Truth. Earn $BET Click Here ⬇️ To Start https://edgemarket.ai/bnb/validate-results #EdgeMarket#AI#Web3#Crypto#BET #Airdrop#EarnCrypto#SignalTruth#Validation #Decentralization#AITraining#Blockchain #CommunityDriven#OnChain#DePIN