Установить свойства виджета в 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
🔥 Крупнейшее событие в сфере высоких технологий с участием 11 000 профессионалов.
Почему стоит быть там?
✔10+ актуальных технологических направлений – охват всех ключевых трендов.
✔Эксклюзивные выступления – 15 зарубежных спикеров только в Москве!
✔Мощный нетворкинг – более 1700 компаний-участников.
✔Влиятельные участники – 1500+ инфлюенсеров и комьюнити из Web2 и Web3.
Не упустите шанс быть в центре технологических инноваций! 🚀
———————————————
В ПРОГРАММЕ:
🟩PRE-PARTY (27 мая)
(Для Business и VIP-билетов)
🟩Сцена TRENDX:
Лучшие из лучших со всего 🌍;
🟩Сцена LEVEL UP:
Живые лекции, кейсы, питчи стартапов;
🟩Выставка 70+ стендов:
Продукты и решения на любой вкус;
🟩VIP-пространство:
Лучший нетворкинг в РФ, VIP бар;
🟩AFTERPARTY (29 мая)
(Для VIP билетов)
———————————————
🔗По этой ссылке вы получите скидку 15% на любой билет (скидка сработает при переходе на страницу оплаты)
#thetrends
28 мая 2025 года в рамках форума The Trends Проектный офис международного молодёжного сотрудничества «Россия – БРИКС» стал соорганизатором панельной сессии «Новые горизонты: как технологии, креатив и лидерство формируют будущее общества».
💎Спикеры из Бразилии, Индии, ЮАР и Узбекистана представили успешные практики развития креативных индустрий. Их выступления подчеркнули значимость креативности, цифровой трансформации и международного сотрудничества для устойчивого развития.
Особая благодарность партнёрам из Проектного офиса «Россия – БРИКС» за организацию, приглашение международных спикеров и создание вдохновляющей площадки для обмена опытом.
#thetrends
#partners
«Цена нефти $500 — не фантастика, а цель суперцикла»: экономист Владимир Левченко о будущем энергетики
————————
О чём статья:
📍 Суперцикл до 2032 года: нефть $500 за баррель как рабочая цель, а не пугалка
📍 Майнинг — абсолютное зло: перекладывание бордюров вместо создания ценности
📍 Россия vs Европа: поставки топлива сейчас — как поставки Гитлеру в 1941-м
📍 Новая индустриализация по типу 1930-х: куда должны пойти сверхдоходы, пока есть окно
📍 Госплан вместо капитализма: почему без системного планирования экономика утонет в болоте
————————
Две цитаты:
📌 «Цикл роста цен на нефть должен длиться примерно до 2032 года. Цель — более $500 за бочку».
📌 «Майнинг — это создание контента ради самого создания контента. Как перекладывание бордюров с одного края дороги на другой. Абсолютное зло».
————————
👉🏻 Полный разбор — в журнале The Trends
#TheTrends#Журнал
Дни всё плотней, до отлёта три дня и три ночи.🚀
А событий…
Международный технологический форум-выставка #TheTrends (IV) .💰
Ещё не юбилейный, но уже традиционный, яркий и самобытный.
Про #НашеЗавтра!🎁
С огромным навесом из криптомонет, техногиков и неизменно прекрасных русских девушек.💃
Радует разнообразие, от …, до приложений знакомств.💘
Печалит, отсутствие социального вектора.🕊
Хотя кто-то возразит, но я про помощь «слабым».
И речь не только о здоровье, а про знания и умения.🛟
Проникновение идей в популяции в целом и в регионах, как шанс.
Иначе там…
А #BigData (большие данные) идеальна, для такой синергии.💯
Несколько моих кадров для погружения.📸
Будете активны, добавлю…
#ПропагандаЗдоровья
#ГородДляЛюдей
#ВячеславРадченко
Альянс B2BASEAN и The Trends: соединяем технологии России и АСЕАН
Всего за полгода мы провели более 15 мероприятий от Москвы до Джакарты, чтобы укреплять технологические мосты между Россией и странами АСЕАН.
18-19 ноября мы делимся этим уникальным опытом на форуме The Trends!
Расскажем о нашей работе в сфере:
▪️IT & Digital
▪️Телеком
▪️Маркетинга
Приходите на наш доклад, чтобы узнать:
✅Как выстраивать деловые связи в регионе.
✅Какие тренды и возможности определяют рынок АСЕАН сегодня.
✅О нашем опыте в Малайзии, Индонезии, Филиппинах, Вьетнаме, Лаосе.
Будем рады живому общению и ответим на все ваши вопросы!
Ждём вас на The Trends 18-19 ноября!
#B2BASEAN#TheTrends#РоссияАСЕАН#ИТ#Digital#Маркетинг#Технологии
18 и 19 ноября в Москве состоится V международный технологический форум-выставка #TheTrends — одно из ключевых событий для визионеров, инноваторов и лидеров технологической индустрии.
Что ждет на форуме?
· 120+ спикеров и 1900+ компаний
· 5 конференций: ИИ, блокчейн, инвестиции, GovTech, цифровые финансы
· Нетворкинг с топ-менеджментом и основателями IT-компаний
Альянс B2BASEAN примет активное участие в мероприятии и расскажет о своей работе
🔹О практической работе, которая ведется сегодня для развития партнерства между Россией и странами АСЕАН.
🔹О новой Программе сотрудничества B2BАСЕАН на 2026 год, которая задает вектор взаимодействия в таких сферах, как:
· Цифровая экономика и инновации в промышленности
· Конгрессно-выставочная деятельность
· Продовольственная безопасность и устойчивая энергетика
Ждем всех, кто смотрит на Восток и ориентирован на международное сотрудничество!
thetrends.tech/
#B2BASEAN#ASEAN#РоссияАСЕАН#ЕАЭС#Технологии#Инновации#МеждународноеСотрудничество#TheTrendsForum
Вчера и сегодня наша команда Альянса B2BASEAN принимала участие в международном мероприятии The Trends, которое было посвящено глобальным трендам в бизнесе и построению мостов между регионами.
Особенно продуктивной стала Международная сессия, где мы обменивались опытом с коллегами и партнерами из Африки, Китая, Ирана.
Особенно приятно было выступить в одной сессии с Алексеем Барановым — всегда ценно быть в кругу профессионалов такого уровня.
Мы пообщались с организатором и владельцем меропртятия The Trends. Родилась перспективная идея о том, чтобы провести аналогичное событие в одной из стран АСЕАН. Детали прорабатываем, следите за новостями!
Большая благодарность организаторам за безупречное событие. Мы заряжены идеями и новыми контактами!
#B2BASEAN#TheTrends#МеждународноеСотрудничество#БизнесАСЕАН#Африка#Китай#Иран#Нетворкинг#GlobalBusiness