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

Резултати

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

Пребарај: #milana

当前筛选 #milana清除筛选

🛍️ Акции и специальные предложения в ТРЦ "Выходной"! 👗 MILANA: стильная подборка и скидки до -70%! 👗 MILANA подготовила для вас топовые новинки! Современные модели, трендовый дизайн и безупречное качество — всё, чтобы ваш образ был на высоте. И это ещё не всё! Скидки до -70%! Не упустите возможность обновить гардероб по выгодным ценам! 💄 ТОЧКА КРАСОТЫ: невероятные скидки! 💄 20% скидка на первое посещение! 15% скидка в честь вашего дня рождения! Не упустите шанс побаловать себя и своих близких! Приходите в ТРЦ "Выходной" и получите максимум удовольствия от шопинга! 📍 ТРЦ "Выходной" ⏰ Часы работы: 10:00 - 22:00 #ТРЦВыходной#MILANA#Скидки#Красота#Мода#Шопинг

Новая коллекция сумочек в MILANA ✨ Также сейчас у бренда проходит распродажа, где цены на обувь, сумки и аксессуары снижены до 70%! Обнови свой гардероб по выгодным ценам. #трцвыходной#люберцы#trcvykhodnoy#выходной#новая_коллекция#скидки#Milana#сумки

Встречаем весеннюю коллекцию в MILANA! #трцвыходной#люберцы#trcvykhodnoy#новаяколлекция#весенняяколлекция#весна#MILANA

Друзья! В честь праздника 23 Февраля магазин MILANA проводит розыгрыш 5 подарочных сертификатов на сумму 1500 рублей каждый! Где будет проходить розыгрыш? В телеграм-канале ТРЦ "Выходной"! Как принять участие? 1. Подпишись на ТРЦ "Выходной" и MILANA. 2. Отметь друга, для которого хочешь сделать подарок. Когда? 28 февраля в пятницу, в 15:00, мы определим 5 счастливчиков с помощью рандомайзера! Не упусти шанс порадовать себя и своих близких стильной обувью и сумками от MILANA! Реклама. ООО "ТЦ КВАРТАЛ", ИНН 5027326760, ERID 2Vtzqw9WDwK #MILANA#Розыгрыш#23Февраля#Обувь#Сумки#Подарок#Выходной Участников: 25 Призовых мест: 5 Дата розыгрыша: 15:00, 28.02.2025 MSK (завершён) Победители розыгрыша: 1. Светлана - 2gfgdm 2. Yana - 2gffph 3. Дарья Гришина - 2gq1e2 4. Retrograde Mercury - 2ipe6o 5. Юлия 🎉 - 2gj6ue

Готовимся к самому нежному и трогательному празднику вместе с MILANA💐! Как стать участницей? 🎀Подпишись на наши каналы в Телеграм ТРЦ "Выходной" и MILANA 🎀 Отметь свою подругу, для которой хочешь сделать подарок, пригласи участников в розыгрыш и получи дополнительный шанс выиграть Когда? 08 марта в субботу в 11:00 мы выберем 5 победительниц с помощью рандомайзера! 💖 Не упусти шанс порадовать себя стильной обувью и сумками от MILANA! Реклама. ООО "ТЦ КВАРТАЛ", ИНН 5027326760, ERID 2Vtzqw5X7Av #MILANA#8Марта#Выходные#Шопинг#Подарки#Сюрприз Участников: 44 Призовых мест: 5 Дата розыгрыша: 11:00, 08.03.2025 MSK (завершён) Победители розыгрыша: 1. Retrograde Mercury - 2jnhr5 2. Татьяна - 2kp819 3. Natiriss🐋 - 2jnash 4. Cos_mos - 2jo57h 5. Татьяна Кириллова - 2k6ter

В MILANA вы найдёте обувь для любого образа – классические ботинки, элегантные туфли или трендовые ботильоны. Выходной | 1 этаж #трцвыходной#люберцы#trcvykhodnoy#выходной#новая_коллекция#скидки#Milana#осенняя_коллекция

КЛИЕНТСКИЕ ДНИ В MILANA 📅 29 и 30 марта 2025 года бренд MILANA приглашает вас на Клиентскиие дни в ТРК "Выходной" ✨ Что ждет гостей? · Шампанское и угощения для создания праздничной атмосферы · Эксклюзивные подарки за покупки · Консультации стилистов - поможем создать идеальный образ · Специальные предложения только для участников мероприятия 👠 Почему стоит посетить? · Первый взгляд на новую коллекцию весна-лето 2025 · Возможность приобрести любимые модели по специальным условиям · Профессиональные советы от экспертов моды 📍 MILANA, этаж 1 📌 Даты: 29-30 марта 2025 года #Milana#КлиентскиеДни#ВеснаЛето2025#Скидка15#ПромокодCD15 💐 Ждем вас за новыми впечатлениями и отличными покупками! 💐

Лето и белая обувь - это ван лав! Стилист MILANA делится лайфхаками, как сохранить белое белым и не стереть при этом руки до мозолей 😅 #трцвыходной#люберцы#trcvykhodnoy#выходной#белаяобувь#Milana#Милана#лайфхак#lifehack

☀️Ещё два дня лета! Успей поймать жаркие скидки в ТРК "ПроВыходной"🛍 🔘MILANA: -70% + ДОП -20% на лето 🔘ДОМАРКЕТ: -30% на ВСЁ 🔘ZENDEN: до -50% на новинки 🔘SOKOLOV: цены ПО ПОЛАМ (-50%) 🔘KARI: -50% на 2-й аксессуар 🔘GIPFEL: -25% всё для напитков Не упусти последний шанс стильно проводить лето😎 #ПроВыходной#Скидки#ЛетниеРаспродажи#Шопинг#ПоследнийДеньЛета#Распродажа#MILANA#ДОМАРКЕТ#ZENDEN#SOKOLOV#KARI#GIPFEL