Установить свойства виджета в 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
31 июля — это день, когда чудеса становятся реальностью, ведь это день рождения Гарри Поттера⚡️
В мире магии он получал разнообразные волшебные подарки, но что бы подарили Гарри его друзья, если бы они жили в нашем современном мире?🎁
Мы в Giftery, совместно с экспертами с Буквоед, решили представить, какие подарки могли бы сделать Рон, Гермиона, Хагрид и другие друзья Гарри, если бы им пришлось выбирать среди привычных нам вещей.
✅Листайте картинки к этому посту, чтобы узнать.
А какие подарки вы бы выбрали для Гарри Поттера? Поделитесь своими идеями в комментариях!✍🏻
#Giftery
Дарите женщинам сертификат без повода, и без причины! Ведь много не надо, чтобы быть счастливой!🎶
🎁Подарки без повода – это не просто приятно, это волшебно!
Плюсы подарков без повода:
✅Неожиданная радость: радость и улыбка на лице получателя.
✅Проявление заботы: демонстрирует вашу заботу и внимание.
✅Укрепление отношений: такие сюрпризы делают отношения крепче и теплее.
✅Приятные эмоции: создают атмосферу счастья и положительных эмоций.
Пусть каждый день будет особенным!
Хотите подарить электронную подарочную карту? Заходите на сайт giftery.ru!
Ставьте ❤️, если вы любите получать подарки без повода.
#giftery
Устами кота гласит истина!😄
Электронные подарочные карты становятся все более популярными, и вот почему:
1. Удобство: мгновенная доставка по электронной почте или SMS.
2. Экологичность: нет пластика – меньше мусора.
3. Безопасность: легко восстановить при утере.
4. Персонализация: добавляйте сообщения и изображения или видео.
5. Доступность: покупайте в любое время суток.
6. Широкий выбор: покупки в интернете без границ.
🎁Хотите подарить электронную подарочную карту? Заходите на сайт giftery.ru и сделайте подарок с заботой и удобством!
Ставьте ❤️, если вам понравилось видео с котиком.
#giftery
Уникальный выбор на Giftery - более 400 подарочных сертификатов!💌
Представьте себе, что у вас есть доступ к более 400 вариантам подарочных сертификатов от известных брендов. Звучит завораживающе, не правда ли?😍
Giftery предлагает невероятный ассортимент, от модных магазинов и ресторанов до аптек и онлайн-платформ. Зависть из "Головоломки 2" в восторге от такого разнообразия!
🎁Независимо от интересов и предпочтений, у нас вы найдете идеальный подарок для каждого. Заходите на сайт giftery.ru
#giftery
Забыли про день рождения или хотите порадовать кого-то без лишних хлопот? Электронный подарочный сертификат – идеальное решение!
🔹Мгновенная доставка: подарочные сертификаты доставляются мгновенно. Отправьте на e-mail или по SMS, и получатель не сможет его потерять.
🔹Удобство: получатель может сразу использовать сертификат, просто показав его на смартфоне.
🔹Экономичность: нет затрат на упаковку и доставку, что делает сертификаты экологичным и выгодным вариантом.
🔹Интересные факты:
По данным исследования InComm, 70% потребителей предпочитают электронные подарочные сертификаты физическим, из-за их удобства и скорости доставки.
🔹Согласно опросу Blackhawk Network, 60% людей сообщили, что получили электронный сертификат в подарок в последние два года, и 90% из них остались довольны.
Электронный подарочный сертификат – это быстро, удобно и современно. Оцените сами!💌
Ссылка на сайт.
Ставьте ❤️, если видео вам понравилось😄
#giftery
Попробуйте сами!💌
Не все знают, что на сервисе Giftery есть функция отправки тестового сертификата на вашу почту. Это отличный способ проверить, как все работает и как будет выглядеть сертификат для получателя.
Как это сделать:
🔸Зайдите на сайт Giftery.
🔸Перейдите в раздел «Купить подарочную карту» и выберите нужный бренд сертификата.
🔸В карточке выбранного сертификата нажмите на раздел «Как отправить?».
🔸Введите свое имя и электронную почту.
🔸Получите сертификат на почту и убедитесь в его удобстве!
Попробуйте прямо сейчас и наслаждайтесь простотой и надежностью сервиса!🎁
Ссылка на сайт.
#Giftery
Сегодня мы хотим выразить огромную благодарность всем нашим покупателям за ваши отзывы!💛
Каждое ваше слово помогает нам становиться лучше и радовать вас ещё больше. Благодаря вашим комментариям и оценкам, мы продолжаем развиваться, добавлять новые функции и улучшать наш сервис. Спасибо, что выбираете нас и делитесь своими впечатлениями. Ваша поддержка вдохновляет нас на новые свершения!
Оставляйте отзывы, рассказывайте о своих впечатлениях и помогайте нам становиться лучше для вас.💌
С уважением, Giftery
#Giftery
С Giftery проблема ненужных подарков будет решена!🎁
Мы все были в этой ситуации: получаем подарок, который оказывается совершенно ненужным. Зачем дарить ненужные подарки, когда можно сделать так, чтобы каждый подарок приносил радость и пользу?
🔸Факт 1: Большинство подарков теряют свою актуальность.
Исследования показывают, что около 60% людей получают подарки, которые они никогда не используют. Это не только пустая трата денег, но и разочарование для получателя.
🔸Факт 2: Экологические последствия.
Ненужные подарки часто оказываются выброшенными, что увеличивает количество отходов.
🔸Факт 3: Удовлетворение от выбора.
Исследования показывают, что возможность выбрать подарок самостоятельно значительно повышает удовлетворение от подарка. С Giftery ваши близкие смогут выбрать то, что им действительно нужно и нравится.
🙌🏻Пусть каждый подарок будет желанным и полезным! До встречи на сайте.
#giftery
Ставьте 👍🏻, если видео вам понравилось😄
Идеальный подарок для выпускного найден!🔥Универсальная подарочная карта Giftery Card — именно то, что нужно!
💌С Giftery Card ваш выпускник сможет выбрать подарок по своему вкусу из множества вариантов: от модных аксессуаров до гаджетов и даже впечатлений. Это универсальный подарок, который точно понравится каждому, ведь свобода выбора — лучший сюрприз.
Кстати, такой подарок подойдет и в качестве благодарности учителю или директору школы👍🏻
✅Отправить подарочную карту можно всего за пару кликов с сайта Giftery! Дополните универсальную подарочную карту текстом с поздравлением, совместным фото или запишите видео поздравление, чтобы сделать подарок еще более особенным.
🎁Дарите радость выбора с Giftery! Ссылка на сайт.
#Giftery
Ставьте ❤️ на пост и делитесь этой идеей подарка на выпускной с друзьями и знакомыми.
Дарите и получайте подарочные сертификаты, которые хочется использовать сразу!🙌🏻
Будь то ужин в любимом ресторане, поход в СПА или шопинг в любимом магазине – с Giftery всегда найдется что-то особенное для каждого💫
Подарки, которые радуют мгновенно!
Ссылка на сайт.
С вас ❤️, если видео вам понравилось!😄
#giftery
🌟6 июня в России отмечается Пушкинский день — праздник, посвященный русскому языку, а также великому поэту и писателю, чей вклад в русскую литературу неоценим.
🎁В этот день мы в Giftery, совместно с экспертами из Литрес, хотим поделиться интересными фактами о Пушкине и о значимых подарках, которые он получил в своей жизни.
Листайте картинки к посту, ставьте ❤️ и делитесь постом с друзьями.
#giftery
Климат и потребительские привычки: есть ли связь?
В Giftery мы верим, что каждый из нас может способствовать защите нашей планеты. Но знаете ли вы, насколько глубоко влияют наши повседневные потребительские привычки на изменение климата?
📊 Интересные факты и статистика:
🛍Воздействие упаковки: по данным исследований, около 30% отходов в мире приходится на упаковочные материалы, многие из которых не подлежат переработке. Это приводит к увеличению выбросов парниковых газов на свалках.
📧Цифровые решения: переход на электронные подарочные сертификаты может существенно уменьшить количество отходов. Например, если 10% покупателей выберут электронный вариант вместо традиционного, это может снизить использование бумаги на тонны ежегодно.
🎁Подарки и потребление: исследование показало, что более 60% людей предпочли бы получить подарок, который не вредит окружающей среде. Это свидетельствует о растущем стремлении к устойчивому потреблению.
💡Присоединяйтесь! Вместе мы можем сделать наш мир лучше.
#giftery