Установить свойства виджета в 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
#ArtTech
Александр Невский: когда прошлое оживает в цифре🖥
В здании старой Петербургской Биржи скоро откроется зал памяти Александра Невского от Эрмитажа.
Он даст возможность прожить историю, в которой технологии работают не вместо, а вместе с искусством ‼️
✔️ Да, здесь будут батальные полотна, исторические доспехи и знамёна.
Но кроме парадного глянца — живая ткань эпохи, прошитая светом, звуком и цифрой:
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🟡Иммерсивные проекции, где ты не смотришь на битву — ты внутри неё.
🟡Голос хроники, читающий летопись на фоне живого света.
🟡AR-интерфейсы, которые не объясняют экспонат, а ведут с ним диалог.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
Пространство, которое может быть торжественным залом, цифровым театром и личной капсулой памяти — в зависимости от того, как ты туда войдёшь 🔥
#ArtTech
Петергоф и Сбер: искусственный интеллект в музее 🌐
Сбер и музей-заповедник «Петергоф» заключили соглашение о внедрении современных технологий в музейные практик.
Цель — использование искусственного интеллекта для создания интерактивного опыта, позволяющего посетителям глубже погрузиться в историю России.
Планы сотрудничества включают ❗️
1. Разработку цифровых технологий и сервисов для посетителей.
2. Совершенствование подходов к развитию культурных организаций с применением ИИ.
✔️Герман Греф, глава Сбера, отметил, что это сотрудничество выведет взаимодействие с посетителями на новый уровень.
Роман Ковриков, директор «Петергофа», подчеркнул важность внедрения цифровых технологий для анализа коллекции и улучшения работы музее.
Готовы ли вы доверить искусственному интеллекту рассказ о шедеврах прошлого? ⭐️
#ArtTech
Когда картины раскрывают тайны с помощью технологий⚡️
Что, если под слоем краски скрывается ещё одно произведение искусства? Или цвета, которые вы видите, не те, что задумал художник?
В ГМИИ им. Пушкина искусство больше не просто висит на стенах – его сканируют, изучают и «воскрешают» с помощью технологий⌛
1. 3D-сканеры заглядывают под краску – находят скрытые слои и замыслы мастеров.
2. ИИ распознаёт выцветшие цвета – картина снова оживает, как в день её написания.
3. AR показывает утраченные фрагменты – теперь можно увидеть искусство таким, каким оно было столетия назад.
4. Анализ пигментов раскрывает тайны – например, что средневековые художники использовали измельчённые драгоценные камни для создания красок.
Теперь картины сами рассказывают свои истории, а технологии становятся мостом между прошлым и будущим.
Искусству нужны такие «раскопки»? Или лучше оставить всё, как есть? 👀
#ArtTech
Arternal: когда искусство и управление говорят на одном языке☺️
Платформа Arternal представила обновлённую версию своего приложения — цифрового инструмента, разработанного специально для нужд галерей, кураторов и арт-дилеров🌸
Приложение объединяет в одном пространстве инвентаризацию, базу коллекционеров, историю взаимодействий, аналитику продаж и логистику. Всё — в понятном и адаптированном под арт-среду интерфейсе.
В профессиональном сообществе всё ещё доминируют ручной документооборот, таблицы и e-mail-переписка 🖼
Arternal стремится структурировать эти процессы, не нарушая привычной логики работы с коллекциями и клиентами.
📚 Это не универсальный CRM, а специализированная инфраструктура для арт-рынка, созданная с учётом его этики, гибкости и темпа.
Такие решения помогают выстраивать новую модель операционного взаимодействия, в которой технологии не отвлекают от искусства — а позволяют сосредоточиться на нём.
#arttech#новости
#ЦифровойКонтекст
ИИ восстанавливает старые картины за часы📖
☺️ Команда MIT создала инструмент, который восстанавливает повреждённые веками картины всего за несколько часов.
Процесс🐎
— ИИ анализирует трещины и утраты (например, пропавший лик младенца),
— Реставрация печатается на прозрачной полимерной плёнке,
— Накладывается на оригинал — без вреда для полотна.
Так можно вернуть к жизни тысячи произведений, ранее оставленных в запасниках.
Но остаются этические и эстетические вопросы — кому верить, художнику или алгоритму? 💐
#AIReconstruction#DigitalRestoration#ArtTech#новости
#MIT_Technology_Review🇺🇸📕[PDF]⬇️
#November2025
#December2025
#Monthly_Magazines
For learning, for free(dom).
@backupofmagazines
In this issue, the cover story explores the rise of “designer babies” and the booming #GeneticTesting industry promising parents control over traits from #IQ to eye color. As #AI meets biology, scientists warn of deep ethical divides in #EmbryoSelection and #BioTech regulation. Other features decode aging “clocks,” AI in healthcare pain detection, and new insights into human resilience to #ClimateChange. From #ArtTech to #StemCells, this edition examines how innovation blurs the line between evolution and engineering — and asks, are we ready to build perfection itself?