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

Резултати

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

Пребарај: #linkusdt

当前筛选 #linkusdt清除筛选
Coin Sonar V2

@CoinSonarV2 · Post #1879367 · 18.04.2026 г., 13:20

$LINK | #LINKUSDT | TradingView Price: 9.37 (-4.2% in 24h) └1 min change: +0.5% 469.0K USDT traded in 1 min └Buys: 311.6K USDT [66%] 🟢 24h Vol: 32.9M USDT (Binance) Alerts in this hour: 1

Hashtags

We want you

@we_want_youu · Post #4329 · 20.08.2024 г., 17:10

#LINKUSDT also broke the support level of $11.80-12.50 and decreased to $8. Now, due to the improvement of the market situation, it can be expected that the price will first pass through the dynamic resistances and then break the first specified resistance level. The trend has changed from bullish to bearish in the recent daily time frame. If the resistance level is not broken, the downward trend will continue and the price may drop to $7.20.

Hashtags

Ai Crypto Signals

@blombardsignal · Post #616 · 14.11.2024 г., 12:39

#LINKUSDT From May 2022 to October 2023, experienced accumulation after a bear market, followed by a bullish breakout in late 2023. A higher low is needed to confirm a bullish trend. The next target could be $86 (535% gain), with more optimistic targets at $130, $178 (1,200%), and even $224. --- #LINKUSDT С мая 2022 по октябрь 2023 прошел фазу накопления после медвежьего рынка, а в конце 2023 произошел бычий пробой. Для подтверждения бычьего тренда необходим более высокий минимум. Следующая цель — $86 (рост на 535%), с более оптимистичными целями $130, $178 (1,200%) и даже $224. --- #LINKUSDT از مه ۲۰۲۲ تا اکتبر ۲۰۲۳، پس از بازار نزولی وارد مرحله انباشت شد و در اواخر ۲۰۲۳ یک شکست صعودی داشت. برای تأیید روند صعودی، تشکیل کف بالاتر ضروری است. هدف بعدی می‌تواند $86 (با ۵۳۵٪ رشد) باشد و اهداف بلندپروازانه‌تر $130، $178 (۱۲۰۰٪) و حتی $224 در نظر گرفته می‌شود. 👇👇👇👇👇👇 "Boost your profits with our AI trading bot. Join now!" 🔗 Automated Trading by Blombard.

Hashtags

Elf Crypto VIP

@elfcryptovip · Post #12149 · 14.10.2025 г., 13:05

🚨Candlestick Patterns Detected: ⭐Shooting Star on #ADAUSDT (4h) ⭐Shooting Star on #ETHUSDT (4h) ⭐Shooting Star on #NEARUSDT (4h) ⭐Shooting Star on #XRPUSDT (4h) ⭐Shooting Star on #FORMUSDT (4h) ⭐Shooting Star on #LTCUSDT (4h) ==================== 🔨Hammer on #CAKEUSDT (4h) 🔨Hammer on #SUIUSDT (4h) 🔨Hammer on #LINKUSDT (4h) 🔨Hammer on #WLFIUSDT (4h) 🔨Hammer on #ASTERUSDT (4h) 🔨Hammer on #DOGEUSDT (4h) 🔨Hammer on #ENAUSDT (4h) 🔨Hammer on #PUMPUSDT (4h) 🔨Hammer on #ZECUSDT (4h) 🔨Hammer on #SOLUSDT (4h) ==================== 🚀Marubozu Bullish on #TAOUSDT (4h) ====================