@degenpump_crypto_pump_signals · Post #504652 · 13.05.2026 г., 09:49
#KSM/USDT Take-Profit target 2 ✅ Profit: 29.9305% 📈 Period: 12 hr 8 min ⏰
Hashtags
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
Пребарај: #ksm
@degenpump_crypto_pump_signals · Post #504652 · 13.05.2026 г., 09:49
#KSM/USDT Take-Profit target 2 ✅ Profit: 29.9305% 📈 Period: 12 hr 8 min ⏰
Hashtags
@degenpump_crypto_pump_signals · Post #504622 · 13.05.2026 г., 04:05
#KSM/USDT Take-Profit target 1 ✅ Profit: 17.8794% 📈 Period: 6 hr 23 min ⏰
Hashtags
@degenpump_crypto_pump_signals · Post #504349 · 10.05.2026 г., 22:25
#KSM/USDT Take-Profit target 1 ✅ Profit: 19.2236% 📈 Period: 36 min ⏰
Hashtags
@CoinSonar · Post #243761 · 17.04.2026 г., 15:57
#KSM | Volume spike (USDT PAIR) 23 times the average volume 132.18K USDT traded in 15 min └Buying vol: 73.87K USDT 🟢 Boost score: 4/10 24h Vol: 540.16K USDT (Binance) Price: 5.00 (-0.9% in 24h)
Hashtags
@CoinSonar · Post #243692 · 17.04.2026 г., 13:39
#KSM | Volume spike (USDT PAIR) 22 times the average volume 128.88K USDT traded in 15 min └Buying vol: 87.91K USDT 🟢 Boost score: 3/10 24h Vol: 540.16K USDT (Binance) Price: 5.14 (-0.9% in 24h)
Hashtags
@CoinSonar · Post #243621 · 17.04.2026 г., 11:38
#KSM | Volume spike (USDT PAIR) 24 times the average volume 137.73K USDT traded in 15 min └Selling vol: 82.17K USDT 🔴 Boost score: 1/10 24h Vol: 540.16K USDT (Binance) Price: 5.17 (-0.9% in 24h)
Hashtags
@CoinSonar · Post #243576 · 17.04.2026 г., 09:38
#KSM | Volume spike (USDT PAIR) 34 times the average volume 196.20K USDT traded in 15 min └Selling vol: 115.52K USDT 🔴 Boost score: 1/10 24h Vol: 540.16K USDT (Binance) Price: 5.27 (-0.9% in 24h)
Hashtags
@CoinSonar · Post #243506 · 17.04.2026 г., 07:38
#KSM | Volume spike (USDT PAIR) 135 times the average volume 254.11K USDT traded in 5 min └Selling vol: 146.21K USDT 🔴 Boost score: 1/10 24h Vol: 540.16K USDT (Binance) Price: 5.69 (-0.9% in 24h)
Hashtags
@CoinSonar · Post #243462 · 17.04.2026 г., 05:38
#KSM | Volume spike (USDT PAIR) 22 times the average volume 129.23K USDT traded in 15 min └Buying vol: 80.41K USDT 🟢 Boost score: 5/10 24h Vol: 540.16K USDT (Binance) Price: 4.73 (-0.9% in 24h)
Hashtags
@proanalysistrader · Post #28194 · 14.11.2024 г., 16:17
#KSM/USDT analysis : #KSM has broken below the 200 EMA and is currently attempting to breach the support zone. The price is expected to break through this zone and continue its decline. For a short entry, it is recommended to wait for confirmation of the support break. TF : 1h Entry : $17.86 Target : $16.78 SL : $18.54
Hashtags
@proanalysistrader · Post #27941 · 17.09.2024 г., 13:30
#KSM/USDT analysis : #KSM is in an uptrend, trading above the 200 EMA. The price has tested and bounced back from the 200 EMA and the support zone. It is likely to continue its bullish momentum and test previous highs. TF : 2H Entry : $19.90 Target : $21.77 SL : $18.82
Hashtags
@proanalysistrader · Post #27876 · 26.08.2024 г., 05:38
#KSM/USDT analysis : #KSM is presently consolidating within the resistance zone and is anticipated to decline from this point to retest previous lows. TF : 1h Entry : $22.03 Target : $20.50 SL : $22.93
Hashtags