Установить свойства виджета в 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
OFAC U.S. Department of the Treasury опубликовал обучающее видео о базовых требованиях в области комплаенс.
Будет полезно коллегам, занимающимся вопросами санкционного комплаенс.
https://youtu.be/aQAb7Cf6keI?si=XqfMkI4nh_2XNcLz
#sanctionscompliance
27 сентября 2023 года Интерфакс проводит семинар "Экспортный контроль, вторичные санкции и иные санкционные риски: новые тенденции".
Время проведения: 15:00 до 18:00 (по Астане)
Участие бесплатное.
Более подробно на:
https://event.interfax.ru/m/6ae8a7bfd3636ca8
#sanctionscompliance
ZIGRAM опубликовал глобальный отчет о ТОП-10 крупных штрафах в области ПОД/ФТ. Тренд на увеличение размеров штрафов сохраняется.
Список выглядит так:
1. USD 4.52 млрд. Binance Holdings (US)
2. USD 984 млн. Ant Group (China)
3. USD 629 млн. British American Tobaco (US)
4. USD 294 млн. Crown Resorts (Australia)
5. USD 186 млн. Deutsche Bank (US)
6. USD 24 млн. William Hill Group (UK)
7. USD 21 млн. ED&F Man Capital (UK)
8. USD 19 млн. DWS Group (US)
9. USD 16 млн. BNP Paribas Fortis (Belgium)
10. USD 15 млн. Shinhan Bank America (US)
С полным текстом отчета можно ознакомиться по ссылке:
https://www.zigram.tech/top-10-aml-penalties-of-2023-reports-and-whitepapers-by-zigram/
#amlcft#sanctionscompliance
В Великобритании в начале 2024 года заработает Office of Trade Sanctions Implementation (OTSI) - новое ведомство, которое будет бороться с компаниями, уклоняющимися от санкций. Об этом объявил Министр промышленности и экономической безопасности королевства.
Ожидается, что это должно укрепить систему торговых санкций и позволит максимизировать их воздействие.
https://www.gov.uk/government/news/new-unit-to-crack-down-on-firms-dodging-russian-sanctions
#sanctionscompliance#sanctions
В рамках повышения осведомленности организаций и общества, членами Compliance Hub проведена встреча со слушателями MBA Almaty Management University (AlmaU) г. Атырау, преимущественно представителями компаний-лидеров отраслей западного региона, в том числе, NCOC, АНПЗ, Тенгизшевроил, в рамках учебного модуля "Корпоративная устойчивость и этика бизнеса".
Рустам Ахметов рассказал о принципах формирования корпоративной политики компании, начиная от ценностей лидеров до принципов и целей устойчивого развития SDG, ESG, что безусловно является весьма важным направлением для бизнеса.
В завершение мероприятия гостевую лекцию провел Тимур Мусин, рассказав о важности комплаенс для компаний в период глобальных преобразований.
#compliance#esg#amlcft#sanctionscompliance
19 июня в г. Алматы прошел Центрально-Азиатский Форум "Комплаенс и Фрод 2024", организаторами которого также выступил Compliance Hub, Lexis Nexis Risk Solutions, Ассоциация финансистов Казахстана, Ассоциация банков Узбекистана, Союз банков Кыргызстана.
Мероприятие объединило под общим шаныраком более сотни экспертов из сферы комплаенс, противодействия отмыванию денег и финансированию терроризма, риск-менеджмента, противодействия мошенничеству и прочим финансовым преступлениям, и иных специалистов из Казахстана, Узбекистана, Кыргызстана, а также других стран.
Данное мероприятие проводится второй год и уже стало доброй традицией для Центрально-Азиатского комьюнити комплаенс экспертов.
#compliance#amlcft#sanctionscompliance#fincrime
Коллеги, привет!
Refinitiv, подразделение LSEG, в партнерстве с AFSA, рады пригласить вас присоединиться к бесплатному мероприятию по гибридным рискам, которое состоится в Астане в пятницу, 23 июня 2023 года.
Ждём вас завтра!
Регистрация по ссылке
#compliance#fincrime#amlcft#sanctionscompliance#cryptocompliance
Коллеги, делимся обещанной записью вебинара на тему "Комплаенс тренды 2024 года", в рамках которого участники - комплаенс-офицеры из различных сфер обсудили наиболее актуальные тенденции грядущего года.
#compliance#amlcft#ethics#dataprotection#sanctionscompliance
#esg
14 декабря Compliance Hub провел вебинар на тему "Комплаенс тренды 2024 года", в рамках которого участники - комплаенс-офицеры из различных сфер обсудили наиболее актуальные тенденции грядущего года.
В ближайшие дни также будет опубликована запись вебинара.
#compliance#amlcft#ethics#dataprotection#sanctionscompliance#esg
Compliance Hub проводит опрос о перспективах использования искусственного интеллекта (ИИ) в области комплаенс, ПОД/ФТ и смежных областях.
Основные участники - специалисты в области комплаенс, ПОД/ФТ и смежных областей, а также представители иных функций из Казахстана и других юрисдикций.
Заранее благодарим за участие! Итогами опроса обязательно поделимся!
https://docs.google.com/forms/d/e/1FAIpQLSd764gZaFicLPBEsEDsedMA3ZwdwYp4aVvKt632F6XyPXnHKw/viewform
#ai#artificialintelligence#compliance#amlcft#antifraud#sanctionscompliance#dataprotection
Совсем немного осталось до нашего вебинара, посвященного Трендам комплаенс 2024 года.
Мероприятие пройдет - 14 декабря т.г., 15.00 – 16.30 ч.
Программа включает 1 CLPD point (1 кредит) для зарегистрированных в МФЦА юридических консультантов.
Ссылка для подключения: https://us06web.zoom.us/j/86531847810?pwd=DeWTYdMKHU8aYqpE28iXFgDYqhbvja.1
#compliance#cryptocompliance#anticorruptioncompliance#amlcft
#sanctionscompliance#dataprotection#fraudpreventing
🇬🇧АПДЕЙТПО ДЕЛУ В LMAA
По запросу арбитров передали информацию по ownership и санкционному статусу сторон.
Одна из компаний является в конечном итоге государственно-принадлежащей через национальный холдинг. Вторая сторона — частная компания с единственным физическим лицом-акционером. По имеющимся данным и на основании публичных источников, ни компании, ни их владельцы под международными санкциями не находятся.
Такие запросы сейчас стандартны для LMAA-арбитражей. Санкционный скрининг всё чаще происходит ещё до подтверждения назначения арбитра, а не «по ходу дела». Это влияет и на сроки, и на процессуальную стратегию: кто готов с информацией — тот движется быстрее.
Параллельно продолжается процедура по назначению sole arbitrator в рамках LMAA Terms: ждём позицию второй стороны в установленный 14-дневный срок. Если согласия не будет, включается механизм назначения через President of the LMAA.
Хорошая иллюстрация того, что арбитраж — это не только аргументы по существу, но и контроль над процедурой с самого начала.
Если вы работаете с английским правом, морскими контрактами или LMAA-арбитражем, держите в фокусе не только «кто прав», но и как именно вы входите в процесс. Процедура часто решает больше, чем аргументы.
Подписывайтесь на English Law Report — здесь разбираем английское право и арбитраж так, как они работают на практике, а не в учебниках.
#EnglishLawReport#EnglishLaw
#MaritimeLaw#LMAA
#Arbitration#SanctionsCompliance
#LegalStrategy#ContractArchitecture
#DisputeResolution