Установить свойства виджета в 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
Chanel Haute Couture Весна-Лето 2025
📍Вчера, 28 января 2025 года, в рамках Недели высокой моды в Париже, Дом Chanel представил свою коллекцию Haute Couture сезона весна-лето 2025. Показ состоялся в Гран-Пале, где подиум был оформлен в виде культового логотипа с переплетенными буквами “C”, символизируя наследие и современность бренда.
📍Коллекция поразила зрителей пастельной палитрой, сверкающими платьями и изысканными жакетами с акцентом на расширенные, округлые плечи. Модели демонстрировали прозрачные платья, украшенные перьями, свободные рукава и пышные юбки, подчеркивая мастерство и креативность Дома.
📍Этот показ ознаменовал новую эру для Chanel, поскольку бренд находится в ожидании прихода нового креативного директора — Матье Блази, ранее работавшего в Bottega Veneta. Его назначение обещает свежий взгляд и инновации в будущих коллекциях.
📍Неделя высокой моды в Париже продолжается до 30 января, представляя показы таких легендарных домов, как Dior, Valentino и Jean Paul Gaultier.
🎙 Редакция ФК Эвелины Хромченко
#Chanel#HauteCouture#ВеснаЛето2025#ЭвелинаХромченко#МодныйПриговор
Возвращение легенды: что ждет Christian Lacroix?
📍 В мире моды — громкое событие: культовый Дом Christian Lacroix обрел нового владельца. Теперь брендом управляет испанская Sociedad Textil Lonia (STL), известная работой с Purificación García и Carolina Herrera.
📍 С 2009 года Lacroix существовал лишь как лицензированный бренд, выпуская аксессуары и парфюмерию. Теперь перед STL стоит непростая задача: возродить ДНК марки — театральность, эклектику, исторические силуэты и роскошные материалы.
📍 Какой будет новая эпоха Christian Lacroix? Вернутся ли кринолины, жаккарды и богемное барокко? Остается только гадать в ожидании.
🎙 Редакция ФК Эвелины Хромченко
#ChristianLacroix#ВозвращениеЛегенды#FashionNews#HauteCouture
Юлия Янина представила коллекцию в Париже.
📍На Неделе высокой моды в Париже Юлия Янина показала коллекцию, вдохновленную эстетикой русских аристократок и театральными традициями. Ее кутюр — это искусство, в котором классика встречается с современностью.
📍На подиуме появились корсетные платья с архитектурными силуэтами, вышитые вручную цветочные узоры и роскошные бархатные ткани. Каждый образ словно сошел со старинных портретов, но при этом выглядел актуально и свежо.
📍Особое внимание привлекли платья с объемными рукавами и сложными драпировками, напоминающие костюмы балерин Мариинского театра. В коллекции чувствуется влияние русской культуры — от барокко до авангардных элементов.
📍Юлия Янина давно известна за пределами России, ее работы выбирают мировые звезды и члены королевских семей. Эта коллекция — еще одно подтверждение того, что русский кутюр по-прежнему на высоте.
📍Критики уже назвали показ одним из самых утонченных на Неделе моды, а сама дизайнер продолжает удивлять мир искусством высокой моды.
🎙Редакция ФК Эвелины Хромченко
#YaninaCouture#ParisFashionWeek#HauteCouture#РусскийКутюр#ЭвелинаХромченко#МодныйПриговор
🇩🇿❌👗Культурная апроприация: Chanel под огнём критики
😠Алжирцы выражают возмущение в социальных сетях после презентации новой коллекции "Spring-Summer 2025" от #Chanel, в которой представлен наряд, явно вдохновлённый традиционным алжирским платьем Djebba Naïli
📖Как и любое традиционное одеяние, имеющее свои особенности, этот наряд включает в себя характерные элементы: бархатный чёрный пояс, украшенный золотыми луидорами, кружевные оборки [Teyara], а также пышную кружевную баску [Tesitfa или Darja].
👍Для полного сходства с традиционным образом женщины из племени Ouled Naïl не хватает лишь алжирских украшений – Схаб, Джбин, Мнагеш энжуд или длинное покрывало...
🕶Однако это далеко не первый случай, когда Chanel, позиционирующий себя как представитель #HauteCouture, заимствует элементы алжирского культурного наследия. В 2017 и 2024 годах бренд уже черпал вдохновение в столичном Караку. Аналогичным образом итальянский бренд Giambattista Valli в те же годы представил образы, напоминающие Karakou, дополнив их головным украшением и длинной белой тканью, удивительно схожей с Hayek.
👗Нет сомнений в том, что алжирские традиционные костюмы привлекают внимание своей красотой и качеством. Однако использовать это богатое культурное наследие в коммерческих целях без должного признания и уважения – повод для справедливого возмущения. Защита своего наследия и сохранение ремесленных традиций предков никогда не было чем-то постыдным – скорее наоборот.
😀Алжирцы не против вдохновения традиционными алжирскими нарядами, но против культурного присвоения, когда мода может размыть идентичность того или иного народа, не отдавая ему должного уважения.
#АлжирскиеНаряды#НаследиеАлжир#УкрашениеАлжир#неделямоды#Алжир
#избачитальня
…Комо 1912 год.. Месьё Валери Ларбо
.. «Она видела массу красивых вещей в озерной воде..полураспустившуюся розу и золотистую охапку сухой листвы(то были листья оливы), которая на краткий миг всплывала на гребне волны..» Когда Вас кто-то спросит, зачем Вы читаете книжки, да для того, чтобы в 2022 году полюбоваться золотистой охапкой сухой листвы, которую выносит на поверхность волна за кормой корабля тринадцатого июля 1912 года, пересекавшего озеро Комо!..Обязательно читайте, пейте тексты залпом ,увлекайтесь безо всяких ограничений ..Ведь вместо похмелья Вы получите в дар счастье познать изобретательный юмор, подлинное чудо разнузданного воображения и восхищения, почувствуйте как картинки сменяют друг-друга на пожелтевших простынях страниц- запечатлённые мгновенья, летучие, эфемерные, отрывочные наброски.. Жизнь проходит быстро.. Время летит стремительно.. Читается она тоже быстро,также стремительно как хорошая книга.. Делитесь, что Вы читаете? Книга бумажная или электронная? Аудио? Одну читаете или несколько сразу и слушаете? Et bon..?!
Les créateurs du chef-d'œuvre :
Photo- @_tinaross_
Producer - @tatianalev_
Makeup&hair - @anastaii.sha
Style- @victory_mi
Accessories - @morza_jewelry
#доброеутро#white#purelove#heavenonearth#photography#photooftheday#womenstyle#hautecouture#fashion#mua#hairstyle#haircut#model#actress#actrice#goodvibes#ange#всемхорошегодня#petitefemme#mira#ladybird #🤍 #☀️#мирославакарпович#miroslavakarpovich
Подала две заявки!На рекламу обоев или колготок😂посмотрим куда кривая выведет 😂
Заявки оформляли эстетки,красотки,интеллектуалки:
Фоторепортаж от @elizzzphoto
Шик и блеск от @elena.borodetskaya
Богемный вид от @landina.mua
Интерьеры от @hotel_arbat6
Всем восхитительных выходных и отменного настроения !Девочки,и помните!Не обои и колготки красят женщину ,а жен-щи-на!😜
#saturdaynight#summer#summervibes#moodoftheday#fashion#womenstyle#photography#photooftheday#passion#actress#model#petitefashion#legs#love#hautecouture#gucci#guccigirl#мирославакарпович#petitefemme#mira #2023 #mademoiselle#lady#haveagoodtime#holiday