Установить свойства виджета в 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
Этническая мода время от времени проникает в масс-маркет. Вспомним один пример из сравнительно недалекого прошлого.
Reserved Re. Design Spring/Summer 2019
Коллекция вдохновлена красотой природы Прибалтики и традиционными промыслами региона. В центре сюжета кампейна супермодель Малгоша Бела.
В капсуле можно увидеть сложные вышитые платья в авангардном стиле, соломеннные шляпы с широкими полями и свитшоты с этническим орнаментом. Выбор тканей и материалов отражает следование тренду на экологичность: органический хлопок, чистый тенсель, лен, кожа, солома.
#nationaltrend
Этническая мода на Олимпийских играх 🥇
Считанные дни остались до начала Олимпийских игр в Париже. По задумке организаторов игр парадная форма должна отражать культуру страны спортсменов. С этой задачей прекрасно справилась сборная Монголии!
Разработкой олимпийской линейки занимался бренд Michel&Amazonka - дизайнерская команда двух сестер. На костюмах золотыми нитями вышиты олимпийские символы (факел, эмблема игр) и национальные (солнце, луна).
Чудесное сочетание интернационального и локального!
#nationaltrend
Этномода по-японски
В коллекции музея Виктории и Альберта (Лондон) есть интересные экспонаты, связанные с попыткой современных японских дизайнеров представить свое видение стрит стайла.
Кумико Уэхара, Мана, Юми Футзивара отсылают нас к 1990-м годам, к популярному тогда стилю "Японская Лолита". Юбки с оборками, кукольный макияж, ленты, кружева, детские аксессуары, цвет - розовый, голубой, черный.
Заметны и переработанные элементы традиционного японского костюма, и очевидное влияние культуры Британии - образ Алисы в стране чудес, Лолиты, стилистика глэм-рока, готики и панка.
А как вам эти образы?
костюмы демонстрировались на выставке "Китти и бульдог, мода Лолиты и влияние Британии", проходившей в музее с апреля 2012 по январь 2013 гг.
фотографии с сайта музея Виктории и Альберта - vam.ac.uk
#nationaltrend
Paris Fashion Week все чаще включает в программу коллекции в этно стиле.
Как создать коллекцию одежды на основе национальных традиций ковроткачества, уходящих корнями в далёкое прошлое, и попасть с ней на одну из самых популярных недель моды?
Берём пример с основателя марки AFFFAIR - азербайджанского дизайнера Руфата Исмаилова: в 2022 году в рамках Недели моды в Париже представил коллекцию "Haute Couture Sumakh".
Не можем налюбоваться красотой азербайджанских ковров, и в то же время - изумительными нарядами, вдохновленными образцами карабахской школы ковроткачества.
В коллекцию "Сумах" вошёл 21 костюм, подготовленный на основе узоров Челеби, Ханлыг, Нелбеки-гюль и других мотивов азербайджанских ковров.
#nationaltrend
Нигерийско-американский дизайнер Sarah Nsikak через свои платья раскрывает истории африканских народов.
В интервью для Vogue в 2020г Nsikak отметила, что на создание платьев ее вдохновили женщины намибийского племени гереро, почти уничтоженного во время колониальной войны 1904-1908г.
Еще в начале XX века племя гереро было колонизировано Германией. Тогда жены миссионеров, старательно учили местных женщин прикрывать наготу, облачая их в пышные платья викторианского кроя. Многослойные юбки и объемные рукава, шали и жилеты стали неотъемлемой частью гардероба женщин гереро, которые сочетали нововведения с традиционными «рогатыми шапками» - платками, повязанными специальным образом, напоминающими рога коровы. В свою очередь, лоскутные платья стали повседневной вариацией гардероба местных женщин.
Новый национальный костюм удивительным образом прочно вошел в жизнь гереро. Благодаря необычным платьям, в которых женщины гереро ходят каждый день, их легко можно отличить от других народов Намибии.
#nationaltrend
Наряд невесты самого богатого человека Индии
Наследница крупной фармацевтической компании Радхика Мерчант блистала на своей свадьбе в наряде от Abu Jani Sandeep Khosla, стилизованном Реи Капур. Образ представляет собой сложный ансамбль из многослойной гагры, 5-метровой вуали, тканевой дупатты (индийский шарф) и второго отстегивающегося шлейфа.
Цветовые решения отсылают к гуджаратской свадебной традиции "Панетар" - нежное сари цвета слоновой кости дополнено традиционной вышивкой зардози и красной, расшитой узорами каймой.
📷The Blueprint News
#nationaltrend#стиль
Krikor Jabotian и ливанский гламур. Как сделать карьеру в 23 года?
☑️Окончить школу Esmod Beirut.
☑️Поработать в креативном отделе у известного Elie Saab.
☑️Взять в партнёры маму😎
Ливанского дизайнера Крикора Джаботяна однажды пригласила бейрутская организация «Starch Foundation» для создания своей коллекции.
В 23 года он создал собственное ателье🔥
Сейчас восходящая звезда моды известна благодаря своей невероятной фантазии, роскошному дизайну платьев с отсылками к Ренессансу и элементам национальной одежды Востока.
Длинные платья, расшитые драгоценными камнями, тюрбаны и фактурные линии являются элементами фирменного стиля дизайнера.
Крикор уже получил признание публики, среди его поклонников королева Иордании Рания.
«Интересно в нашей работе то, что мы постоянно учимся на своих ошибках. Поэтому моя цель – стать лучшей версией самого себя», - говорит дизайнер.
По материалам: arab news. com; job 4 arabists
#discoveringtalents
#nationaltrend
KAJA(D) / ECHO(ES) show
В современной культуре финно-угорских народов этнофутуризм является одним из доминирующих направлений. Свое отражение это направление нашло и в моде: удивительное сочетание футуристичных гиперболизированных форм, мифических сюжетов и этнических узоров.
А как вам такая эстетика?
На 📷 показ студентов Эстонской академии художеств(ЕКА) и финно-угорских дизайнеров, организованный в рамках Дней родственных народов
Еще больше вдохновляющих образов здесь
#nationaltrend#ethnography
Fashion портянки от Tod's SS 2021.
Спорный тренд "носки с босоножками" , кажется имеет объяснение.
#Онучи - портянки, надеваемые крестьянами под лапти, привязанные к ногам шнурками ... в этом образе корни модно-народного тренда очевидны 🧐
#nationaltrend
Образы от @ carolinakuniverse
portraits for Andes, the Fall/Winter 23
Коллекция воплощена в жизнь благодаря сотрудничеству латиноамериканских художников, это дань уважения богатой палитре латиноамериканской культуры.
#ANDES
Фото @ andresoyuela
Стилист@ davidechikm
Прическа и макияж @ laupantoja
#nationaltrend
Традиционные техники ремесленных практик как решение экологических проблем?
Эту идею поднимает и обсуждает коллекция Stella Jean (Pre-Fall 2021). Модельер бренда, итальянка гаитянского происхождения, всегда концентрируется в своей работе на возвращении к истокам.
Культура Гаити невероятно разнообразна – она вобрала в себя как африканские, так и европейские элементы. Важными деталями в одежде женщин считаются многослойные плиссированные юбки, тюрбаны из яркой ткани с простыми геометрическими или природными узорами.
Для этой коллекции модельер решила добавить интересный акцент – папье-маше*.
Во многих общинах страны существуют свои особенности работы в подобной технике. В феврале, например, даже проходят специальные празднества, где жителям Гаити ремесленники показывают необычные маски.
#zoovibe#nationaltrend