Установить свойства виджета в 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
Латинская Америка сегодня: инвестиции, рекорды туризма и культурные события
1️⃣В Мексике запустили план поддержки киноиндустрии
Президент Мексики Клаудия Шейнбаум и актриса Сальма Хайек объявили о запуске государственной программы по продвижению мексиканского кино. Проект предусматривает налоговые льготы для национальных и международных кинопроизводств.
Цель инициативы — привлечь съёмки в страну, укрепить позиции Мексики в мировой киноиндустрии и создать до 300 000 рабочих мест в течение года.
2️⃣Колумбия и Мексика — лидеры мирового туризма по длительности поездок
По данным отчёта SiteMinder за 2025 год, страны Латинской Америки заняли ведущие позиции в мире по количеству длительных гостиничных размещений (от двух ночей и более).
🥇Колумбия — 1-е место в мире: 43% всех бронирований пришлись на заезды от двух ночей.
🏅Мексика — 4-е место в мире с показателем 37%, уступив только Колумбии, Португалии и Испании.
Туристы стали чаще бронировать поездки заранее и оставаться дольше, что делает доходы гостиниц более стабильными и предсказуемыми.
3️⃣«Пассия Христова» в Истапалапе получила статус ЮНЕСКО
В районе Истапалапа (Мехико) местные жители отметили вручение официального сертификата ЮНЕСКО, подтвердившего включение Представления Страстей, Смерти и Воскресения Христа в список нематериального культурного наследия человечества.
(Важно: речь идёт не о храме, а о ежегодном уличном театрализованном представлении, которое проходит во время Страстной недели.)
Традиция существует уже 182 года и считается ключевой частью культурной идентичности района. После церемонии в Истапалапе прошли праздничные мероприятия с музыкой и танцами — жители подчеркнули, что для них это признание стало поводом для гордости, а не началом истории.
4️⃣Инвесторы снова активно вкладываются в Латинскую Америку
Акции Бразилии, Колумбии и Мексики показывают резкий рост: индекс MSCI Latin America поднялся более чем на 20% с начала 2026 года и достиг максимума за 11 лет — рекордного уровня за последнее десятилетие.
Причина — ожидания снижения ставок и изменений экономической политики, а также рост интереса к рынкам за пределами США. В регион заходит рекордный объём иностранного капитала.
5️⃣EDC México 2026 в Мехико
В столице Мексики прошёл EDC México 2026 — один из крупнейших фестивалей электронной музыки в Латинской Америке. В первый день на площадке Autódromo Hermanos Rodríguez собралось более 100 тысяч человек.
Музыка, световые инсталляции и шоу дронов сделали фестиваль одним из самых масштабных событий года в Мехико.
#EDCMexico#Мехико#Фестивали#ElectronicMusic#LatAmCulture#UNESCO#ЛАТАМЦифрами
👉Всегда свежие новости о странах Латинской Америки
Alcuni biglietti (Full Madness Pass) venduti in meno di 1 ora, con 200.000 venduti in 27 minuti solo per il mercato belga e altri stati europei
reddit.com
Copertura mediatica globale (oltre 1 miliardo di visualizzazioni online)
Circa 46.000 partecipanti sono arrivati tramite il programma Global Journey, con pacchetti viaggio+biglietteria da oltre 50 città nel mondo, inclusa Roma
YouBeat
Fatturato non dichiarato, ma stimato in oltre 150 milioni di euro all’anno
Non tutto però è luce. Alcuni report interni parlano di abbandoni tra lo staff per burnout, pressioni sui fornitori locali, e una gestione dei diritti d'immagine che costringe i partecipanti a cedere ogni contenuto personale filmato dentro il parco. Una distopia estetica in formato 8K.
“È come entrare in un sogno, ma non sai chi l’ha disegnato. E non puoi svegliarti finché non finisce il bass.”
La festa, il silenzio
Ogni anno, quando l’ultimo beat si spegne, Boom torna a dormire. Le impalcature scompaiono, il parco viene ripulito, e l’acqua dei canali riacquista colore. Ma sotto la superficie, qualcosa rimane.
Tomorrowland è molto più di un festival: è una struttura globale, un ecosistema di intrattenimento, capitale, narrazione e controllo. Una metafora — e forse anche un indizio — di come funziona il mondo nel XXI secolo: tra illusione e architettura perfetta, tra libertà e regia invisibile.
#tomorrowland#festival#musica#electronicmusic#belgique#Boom#fiandre#europa#dance
Друзья, 29 декабря в 20:00 мы приглашаем вас познакомиться с двумя творческими проектами: Gravitones и Evgenia Kozhevnikova - AQD
Gravitones - это электронный дуэт, сайнс фикшн от музыки. Сторонники живого синтезаторного звучания и экспериментальных аранжировок, Gravitones неизменно отдают должное 8-битной музыке, брейк-биту и панк-року.
А живой электронный перфоманс от AQD (Евгении Кожевниковой) - это синтез аналогового и цифрового звучания, импровизации и экспериментов. В лайве использованы культовые машины: Roland sh-101, Roland tr-8, Korg Electribe EMX-1, Arturia MicroFreak и другие.
#electronicmusic#gravitones#aqd#live#electronic#pop#dance#synthpunk#electro
🕺
🕺
🕺
Вход свободный ПО ПРЕДВАРИТЕЛЬНОЙ БРОНИ
по телефону: +7 995 600 1898.
Можно звонить, также все мессенджеры привязаны.
Количество мест ограничено!
— Литейный пр., д. 28, три окна в правой части здания.