Установить свойства виджета в 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
#анонс#вебинар#ABA
❗️КАК РАБОТАТЬ С ТРУДНОСТЯМИ ПОВЕДЕНИЯ У ДЕТЕЙ С ОТКЛОНЕНИЯМИ. 4 ЭТАПА РАБОТЫ ПО МЕТОДИКЕ АВА
Практикум с разбором кейсов 27 апреля в 19:00 по Мск!
➡️Пройти регистрацию можно по ссылке: https://clck.ru/gdDfV
Поведенческий аналитик из Калифорнии поделится своим 20-летним опытом, а руководитель реабилитационного центра в Новосибирске Светлана Кондренкова расскажет о применении метода АВА в России!
✅После встречи вам станет понятно, как:
- специалисту действовать в случаях нежелательного поведения со стороны ученика;
- наблюдать и анализировать поведение ребенка;
- применять позитивный подход в коррекции нежелательного поведения;
- предупредить плохое поведение.
Не упустите возможность поучаствовать в разборе видеоматериалов, на которых показана работа поведенческого аналитика с трудным ребенком!
Каждый участник встречи получит в конце эфира подарок — памятку «Как построить отношения сотрудничества с родителями».
➡️Зарегистрироваться: https://clck.ru/gdDfV
Увидимся на практикуме 27 апреля в 19:00
#анонс#вебинар#ABA
❗️ «КАК СОСТАВИТЬ ПЛАН КОРРЕКЦИИ АГРЕССИВНОГО ИЛИ ПОЛЕВОГО ПОВЕДЕНИЯ РЕБЁНКА. 4 ЭТАПА КОРРЕКЦИИ ПО МЕТОДИКЕ АВА»
Ольга Шаповалова, поведенческий аналитик из Калифорнии, начнет прямой эфир 19 апреля в 19:00 мск!
➡️Зарегистрироваться: https://clck.ru/fb8ng
🔹Спикер вебинара: Ольга Шаповалова - специалист АВА, сертифицированный поведенческий аналитик ВСВА;
магистр наук области Прикладного анализа поведения; опыт преподавательской деятельности – 20 лет.
Что делать специалисту, чтобы скорректировать негативное поведение ученика🤔?
В процессе коррекционного вмешательства следует одновременно применять следующие методики:
✅предупредительные
✅поддерживающие
✅обучающие
✅реактивные
⏳О том, как применять эти методики в работе Ольга Шаповалова расскажет на практикуме. Приходите на эфир, чтобы поучаствовать в разборе кейса и узнать больше о позитивном подходе в коррекции полевого поведения!
Встреча бесплатная, но нужно зарегистрироваться по ссылке👉https://clck.ru/fb8ng
До встречи 19 апреля в прямом эфире!
Только30% тьюторов используют методы прикладного анализа поведения
Из доклада Марины Мантлер:
- слайды выше и в комментариях.
- разница между тьютором и поведенщиком:
Тьютор - имеет профстандарт и там есть 3 функции. Это ключевая единица построения инклюзивное системы. Он не просто "собирает данные". В его работе много творчества.
Тьютор это не только тот, что 1 к 1. Но ещё и тьютор, который сопровождает группу из 5-6 детей.
А ещё у него может не быть базы в АВА.
Поведенщик - сейчас принят к разработке профстандарт. Неизвестно, кем он станет после. Его функционал нам пока не известен, слишком много вариантов.
Опрос от августа 25, который прошло 325 человек показал, что:
- 70% используют ПАП редко или никогда
- 20% не знают, что такое ПАП
- мало времени на обучение и доступ к нему низкий
- методы известны, но единичные (как правило это визуальная поддержка, PECS, жетоны)
- используют методы только часть тех, кто их знает.
Видео от тьюторов, живая прямая речь:
- не хватает информации
- мы знаем о ПАП, но у меня 5-6 детей в разных классах, технически сложно или невозможно применять, особенно собирать данные
- нужны супервизоры
- нужно обучение
Мария Мантлер дала обратную связь по докладу Дарьи Ли-Романовой и Екатерины Ким. Она обратила внимание на то, что такая ювелирная работа с ребёнком с очень большим уровнем поддержки невозможна в школе. И тьюторам нужна помощь.
"Подскажите мне, где я не увидела. Дайте вовремя правильную подсказку специалисту. "
Блог "Тьютор в инклюзии" вырос из сообщества в мощный инструмент обучения, информирования и поддержки тьюторов, тьюторантов и их семей.
Цель сообщества - сделать профессию тьютора престижной и привлекательной.
Всем причастным советую почитать ❤️
#коллеги
#aba
#конференция
CW: ABA, signs of trauma.
I don’t normally do content warnings, but ngl: this one just hurts. Take care of yourself and scroll on by if you’re not in the right space for it. (And I promise I’ll make it up to you next week.)
#Autism#Autistic#ActuallyAutistic#ABA#banABAsource