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

Резултати

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

Пребарај: #projectsyndicate

当前筛选 #projectsyndicate清除筛选
The Idealist

@theidealist · Post #2379 · 25.01.2022 г., 14:51

​​Project Syndicate: инфляционные ереси Призрак инфляции снова приходит в мир после долгого периода затишья, когда политики были больше озабочены дефляцией. Теперь вновь актуальны старые споры о том, как лучше всего восстановить стабильность цен. Должны ли политики нажать на монетарный и фискальный тормоз, сократив расходы и повысив процентные ставки - ортодоксальный подход к борьбе с инфляцией? Следует ли им пойти в противоположном направлении, снижая процентные ставки - путь, которому пошёл центральный банк Турции под руководством президента Реджепа Тайипа Эрдогана? Или, возможно, политикам следует попытаться вмешаться в ситуацию более непосредственно, через контроль над ценами или путем ограничения деятельности крупных компаний, имеющих право устанавливать цены, как настаивают некоторые экономисты и историки в США? Представляем наш новый перевод в рамках сотрудничества с каналом Бла-бла-номика «Если вы приняли решение по этим политическим мерам, что называется, «на коленке» - немедленно одобрили одно средство, а другие сразу отвергли - подумайте еще раз. Экономика — это не наука с фиксированными правилами. Меняющиеся условия требуют различных стратегий. Единственный правильный ответ на вопросы политики в экономике — «зависит от ситуации». https://theidealist.ru/infrems/ #ProjectSyndicate#власть#экономика#инфляция#доллар#Турция

💎SYNDICATE AI GOLD SIGNALS️

@syndicategold001 · Post #9160 · 04.04.2026 г., 06:54

Confluence Order Blocks | ProjectSyndicate https://www.tradingview.com/script/sWYSscwe-Confluence-Order-Blocks-ProjectSyndicate/ 🚀 NEW INDICATOR DROP — Confluence Order Blocks Forget single-timeframe OBs. This engine scans M15, M30 & H1 simultaneously, merges overlapping zones using ATR-based proximity, and only draws a box when 3 timeframes agree. Every zone tells you: 📌 How many TFs confirmed it 💪 Strength score (0-10) 🕐 Session + Age 📏 Zone size in pips + distance from price ✅ Chart-TF independent — zones never shift regardless of what timeframe you're on. ✅ Displacement-filtered — weak zones are rejected before merging. ✅ ATR-normalized — all zones equal height, zero visual noise. If 3 timeframes agree on a zone — institutions are watching it. #PROJECTSYNDICATE#XAUUSD#OrderBlocks#SmartMoney#TradingView