@laziz_blogs · Post #609 · 21.03.2026 г., 18:26
#day14 1) calorie intake 737 kcal 2100 (daily limit) - 1363 (remain) = 737 kcal 2) calorie burn ≈1996 kcal 3) kcal deficit ≈1259
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
Пребарај: #day14
@laziz_blogs · Post #609 · 21.03.2026 г., 18:26
#day14 1) calorie intake 737 kcal 2100 (daily limit) - 1363 (remain) = 737 kcal 2) calorie burn ≈1996 kcal 3) kcal deficit ≈1259
Hashtags
@textytela · Post #455 · 01.03.2024 г., 07:09
«Вся история человечества - попытка избежать свободы. В целом мы скорее пытаемся адаптироваться, а не сопротивляться или творить. Те немногие, кто оказывают сопротивление, или даже жертвуют жизнью, становятся мифами и легендами о том, чем мы сами не являемся. Герои, как воплощение такого мифа, являются живым свидетельством нашего добровольного рабства. Не осмеливаясь жить в свободе, мы делегируем её героям, которым поклоняемся. Герои - признак тоталитаризма внутри нас самих. Ни один тоталитарный режим не может обойтись без героев». из книги Prisoners of Ourselves, Gündüz Vasaaf, пер. Н. Пресс #49daysforfreedom#day14
Hashtags
@britishembspokesperson · Post #1243 · 08.12.2024 г., 06:52
Сегодня #Day14 кампании «16 дней активизма против гендерного насилия». Насилие против женщин и девочек – это проблема, которая затрагивает каждого из нас. В счастливом и развитом обществе все, независимо от пола, могут жить в безопасности и свободно реализовывать свой потенциал. Соблюдение прав женщин и девочек способствует 🤝 более инклюзивному и стабильному развитию любого общества. Британия стремится ✍️ подчеркнуть потенциал женщин и девочек позитивными кампаниями. Одна из таких кампаний – «Эта девочка сможет!» – началась в 2015 году и продолжается до сих пор. Она призывает 🏃♀️ женщин Великобритании, в том числе из числе меньшинств, активнее заниматься спортом и одновременно демонстрирует, что женщины должны иметь право заниматься физической активностью, не боясь агрессии и насилия со стороны мужчин. Успех этой кампании в Великобритании демонстрирует, что бороться с гендерным насилием можно и cоздавая сообщества женщин и девочек, которые вместе развиваются и 💪 поддерживают друг друга – и вдохновляют других. #ThisGirlCan 🔗 Подробнее: https://www.thisgirlcan.co.uk
Hashtags
@mediamaps · Post #274 · 14.11.2025 г., 14:03
Тема четырнадцатого ноября — OpenStreetMap. Сегодня необходимо использовать OSM в качестве основного источника данных. С OpenStreetMap мы сталкиваемся почти каждый день при создании картографических основ. Но этот сервис хранит в себе гораздо больше информации, если использовать специальные ключи. Делимся картой количества салонов красоты в Москве. Все салоны красоты выгрузили с помощью модуля QuickMapServices в QGIS по ключу shop=beauty, а затем пересчитали количество по округам. ЦАО оказался бесспорным лидером! #30DayMapChallenge#Day14#OpenStreetMap#Cartography#GIS