@park_oblakov · Post #5693 · 21.11.2025 г., 04:22
Мне красиво 🧡#Krasnodar 📍Парк Галицкого Краснодар
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
Пребарај: #krasnodar
@park_oblakov · Post #5693 · 21.11.2025 г., 04:22
Мне красиво 🧡#Krasnodar 📍Парк Галицкого Краснодар
Hashtags
@park_oblakov · Post #5656 · 20.11.2025 г., 06:34
Мне красиво 🧡#Krasnodar 📍Парк Галицкого Краснодар
Hashtags
@mosbuild_2021 · Post #2117 · 14.11.2025 г., 18:59
Краснодар, было жарко 🔥 За два дня региональной программы D+A Tour участники посетили Парк Галицкого и вдохновились, а также настроились на продуктивную работу после деловой программы! Поговорили о трендах, посмотрели на интерьер с разных сторон, разобрали технологии и рабочие инструменты дизайнеров. И, конечно, обменялись опытом в теплой атмосфере нетворкинга Благодарим партнёров за поддержку D+A Tour в Краснодаре: КНАУФ, MercuryStone, KERAMA MARAZZI, Espocada, LARTA GLASS, AM-Group, DEA Design, Boca Room, Aeterna Little Greene, Императорский фарфоровый завод. Информационный партнёр D+A Tour в Краснодаре — журнал Hi Home Все фотографии с мероприятия опубликованы в разделе «Контент» онлайн-сообществa MosBuild Connect #datour#krasnodar
Hashtags
@mosbuild_2021 · Post #2115 · 14.11.2025 г., 17:30
Звезда этого вечера — Сергей Трегубов🔥 Дизайнер, амбассадор MosBuild, выступил с лекцией на тему «Психология интерьера: как учесть эмоциональные и психологические потребности клиента в дизайне» #datour#krasnodar
Hashtags
@mosbuild_2021 · Post #2114 · 14.11.2025 г., 16:25
Hi home— информационный партнер D+A Tour Чем глянец полезен для индустрии дизайна? Узнали на выступлении Виолетты Шатенюк, руководителя отдела продаж сетевого интерьерного журнала Hi home #datour#krasnodar
Hashtags
@mosbuild_2021 · Post #2113 · 14.11.2025 г., 16:11
Алёна Брюховецкая, дизайнер интерьеров, основатель и руководитель студии МАСШТАБ поделилась стратегиями эффективного развития и монетизации дизайна Герман Фарени, основатель Fareni Family, порассуждал о структуре дизайнерских проектов О том, как появляется концепция рассказала Ольга Хаматгалиева, руководитель студии дизайна VANDALL BUREAU #datour#krasnodar
Hashtags
@mosbuild_2021 · Post #2112 · 14.11.2025 г., 15:02
На сцене — партнеры региональной программы D+A Tour С обзором трендов с выставки Marmomaс 2025 выступил Данила Васьковский, MercuryStone О звукоизоляции в жилых пространствах рассказал Алексей Марьяненко, КНАУФ ГИПС Видение керамики в современном интерьере представил Альберто Фаварон, KERAMA MARAZZI А Мария Демидович, менеджер Espocada, и Татьяна Смородина, руководитель шоурума бренда в Санкт-Петербурге, объяснили, почему капсулы – это must-have #datour#krasnodar
Hashtags
@mosbuild_2021 · Post #2111 · 14.11.2025 г., 14:28
Второй день D+A Tour в Краснодаре Смотрите, как стартовала деловая программа 🔥 #datour#krasnodar
Hashtags
@mosbuild_2021 · Post #2110 · 13.11.2025 г., 15:44
Здесь MosBuild. Здесь Парк Галицкого! В первый день D+A Tour в Краснодаре прошла экскурсия по живописным локациям — каким, смотрите в ролике Встречаемся завтра на деловой программе в лофте «Бронзовая лошадь» по адресу ул. Калинина, д. 291 #datour#krasnodar
Hashtags
@omanko_gastro · Post #6424 · 18.09.2025 г., 09:08
Интерьер бара «Любители» в Краснодаре🪸 Дизайн от Ирины Калюжной с использованием неоновых элементов воплощает любовь к морепродуктам и гастрономии, создавая уютную атмосферу городского бистро. #interior#krasnodar
Hashtags
@RTenfrancais · Post #79868 · 23.04.2026 г., 07:05
⚡️Un habitant de la région du #Kouban a été arrêté alors qu'il tentait de quitter la #Russie pour rejoindre les rangs d'un groupe paramilitaire ukrainien, rapporte le FSB russe de la région de #Krasnodar. RT en français • Osez questionner !
Hashtags
@rybardeu · Post #3291 · 09.04.2026 г., 20:41
📝Chronik der Spezialoperation📝 für 9. April 2026 🧨Russische Streitkräfte schlugen mit Drohnen Umspannwerke in Charkiw und TschernihiwRegionen sowie im besetzten Saporischschja an. Ein neuer Drohnentyp „Geran-4" wurde dokumentiert. Ukrainische Formationen griffen Ziele in der Region Krasnodar, in der LNR und in den befreiten Teilen der Cherson- und Saporischschja-Regionen an. Massenhafte Stromausfälle wurden als Folge von Angriffen auf die Energieinfrastruktur beobachtet. ➡️In der Richtung Slawjansk setzen sich heftige Kämpfe auf den Zugängen zu Raj-Aleksandrivka fort, wo russische Einheiten versuchen, das Dorf von zwei Richtungen aus vorzustoßen. ➡️In der Richtung Ost-Saporischschja setzen sich heftige Kämpfe fort. Ukrainische Formationen versuchen weiterhin, in die Region Dnipropetrowsk einzudringen. ➡️In der Richtung West-Saporischschja bleibt die Situation äußerst schwierig. Ukrainische Formationen setzen Angriffe in der Nähe von Primorske und Stepnohorsk fort und versuchen, die Linie Kamianske — Stepowe — Malyj Schtscherbaky zu erreichen. 📎Hochauflösungskarten: 🔸Situation in der Zone der Spezialoperation (ru; en) 🔸Richtung Slawjansk (ru; en) 🔸Richtung Ost-Saporischschja (ru; en) 🔸Richtung West-Saporischschja (ru; en) 📍Online-Karten verfügbar im Abonnement unter map.rybar.ru #Zusammenfassung#Saporischschja#Karte#Krasnodar#Russland#Ukraine ✈️RU | ✈️EN | ✉️MAX ✉️VK | ✉️RuTube | ✉️OK | ✉️Zen 💸Unterstützen Sie unsOriginalnachricht