Установить свойства виджета в 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
𝐂𝐨𝐦𝐩𝐥𝐢𝐚𝐧𝐜𝐞 𝐑𝐞𝐦𝐢𝐧𝐝𝐞𝐫
В рамках законодательства Республики Казахстан о ПОД/ФТ, субъекты финансового мониторинга должны на ежегодной основе осуществлять оценку степени подверженности услуг (продуктов) субъекта рискам:
- отмывания денег (ОД),
- финансирования терроризма (ФТ),
- финансирования распространения оружия массового уничтожения (ФРОМУ).
Детально данный вопрос описывается в Требованиях к правилам внутреннего контроля в целях ПОД/ФТ различных субъектов финансового мониторинга, которые хоть и схожи, но могут отличаться в деталях, например, в части необходимости/отсутствия необходимости отправки такого отчета в адрес регулятора и пр. Имейте это в виду.
Также не забудьте грядущем курсе:
https://www.linkedin.com/feed/update/urn:li:activity:7108028686162874369/
#compliancereminder от Compliance Hub призван повысить осведомленность комьюнити о требованиях, затрагивающих вопросы комплаенс и ПОД/ФТ, а также положительно сказаться на формировании комплаенс культуры
𝐂𝐨𝐦𝐩𝐥𝐢𝐚𝐧𝐜𝐞 𝐑𝐞𝐦𝐢𝐧𝐝𝐞𝐫
Для платежных организаций
В соответствии с Требованиями к Правилам внутреннего контроля в целях ПОД/ФТ/ФРОМУ для платежных организаций, платежные организации на ежегодной основе должны осуществлять оценку степени подверженности услуг (продуктов) организации рискам ОД/ФТ/ФРОМУ с учетом отчета оценки рисков ОД/ФТ/ФРОМУ.
Итоги (результаты) ежегодной оценки документируются в соответствии с внутренними документами и процедурами платежной организации, о которых уведомляется уполномоченный орган по финансовому мониторингу и уполномоченный орган не позднее первого квартала, следующего за календарным годом.
Учитывая вышесказанное, не забудьте направить данную отчетность в срок.
#compliancereminder от Compliance Hub призван повысить осведомленность комьюнити о требованиях, затрагивающих вопросы комплаенс и ПОД/ФТ, а также положительно сказаться на формировании комплаенс культуры
#compliancehub#amlcft#compliance
𝐂𝐨𝐦𝐩𝐥𝐢𝐚𝐧𝐜𝐞 𝐑𝐞𝐦𝐢𝐧𝐝𝐞𝐫
Публикуем наш очередной Compliance Reminder для Комплаенс и AML офицеров.
Для субъектов финансового мониторинга - участников МФЦА
В соответствии с AIFC Anti-Money Laundering, Counter-Terrorist Financing and Sanctions Rules, субъектам финансового мониторинга, работающим на МФЦА необходимо ежегодно заполнять и направлять местному регулятору Annual AML Return Form, которая представляет собой описание особенностей системы ПОД/ФТ в компании и некоторых других данных.
Предоставляется данная форма ежегодно, в течение двух месяцев после окончания года, то есть до конца февраля.
Учитывая вышесказанное, не забудьте направить данную отчетность в срок.
#compliancereminder от Compliance Hub призван повысить осведомленность комьюнити о требованиях, затрагивающих вопросы комплаенс и ПОД/ФТ, а также положительно сказаться на формировании комплаенс культуры
#compliancehub#amlcft#compliance
𝐂𝐨𝐦𝐩𝐥𝐢𝐚𝐧𝐜𝐞 𝐑𝐞𝐦𝐢𝐧𝐝𝐞𝐫
Небольшое напоминание для участников рынка ценных бумаг и МФО.
Постановлением Правления Агентства Республики Казахстан по регулированию и развитию финансового рынка от 29 июня 2020 года № 67 "Об утверждении форм отчетности о соблюдении требований законодательства Республики Казахстан о противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма, предоставляемой профессиональными участниками рынка ценных бумаг (за исключением банков второго уровня), организациями, осуществляющими микрофинансовую деятельность" утверждены формы отчета о соблюдении требований законодательства Республики Казахстан о противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма (ПОД/ФТ) для:
– профессиональных участников рынка ценных бумаг (за исключением банков второго уровня);
– организаций, осуществляющих микрофинансовую деятельность.
Данный отчет должен содержать описание системы ПОД/ФТ организации, в том числе, ее программ:
– идентификации клиента;
– управления рисками ОД/ФТ;
– подготовки и обучения работников;
– мониторинга и изучения операций.
Согласно требованиям указанного постановления, профессиональным участниками рынка ценных бумаг и организациям, осуществляющим микрофинансовую деятельность, необходимо на полугодовой основе направлять заполненные формы в Агентство Республики Казахстан по регулированию и развитию финансового рынка.
Срок предоставления - не позднее 15 числа месяце, следующего за отчетным полугодием.
Учитывая вышесказанное, не забудьте направить следующую отчетность не позднее 15 января.
#compliancereminder от Compliance Hub Community призван повысить осведомленность комьюнити о требованиях, затрагивающих вопросы комплаенс и ПОД/ФТ, а также положительно сказаться на формировании комплаенс культуры
#compliancehub#amlcft#compliance
𝐂𝐨𝐦𝐩𝐥𝐢𝐚𝐧𝐜𝐞 𝐑𝐞𝐦𝐢𝐧𝐝𝐞𝐫
Напоминание для коллег из платежных организаций.
В соответствии с Правилами представления сведений о платежных услугах, утвержденными Постановлением Правления Национального Банка Республики Казахстан от 31 августа 2016 года № 213, платежные организации, прошедшие учетную регистрацию в Национальном Банке, должны представлять регулятору форму "Сведения по принятым мерам, направленным на противодействие легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма".
Данная форма представляется на полугодовой основе, не позднее десятого (включительно) числа месяца, следующего за отчетным полугодием.
Пояснение к заполнению формы отражены в приложении 16 к указанным правилам.
#compliancereminder от Compliance Hub призван повысить осведомленность комьюнити о требованиях, затрагивающих вопросы комплаенс и ПОД/ФТ, а также положительно сказаться на формировании комплаенс культуры
#compliancehub#compliance#amlcft#moneylaundering