TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в 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

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #cnil

当前筛选 #cnil清除筛选
AI & Law

@ai_and_law · Post #623 · 29.07.2025 г., 07:04

🇫🇷CNIL Issued GDPR Guidance for AI Development France’s data protection authority, CNIL, has published its finalized recommendations on applying the GDPR to AI systems. The guidance addresses core compliance areas: lawful training data practices, security obligations, and data annotation protocols. It provides clarity for AI developers navigating GDPR requirements at every stage of system design. This move aligns with CNIL’s 2025–2028 strategic plan, which prioritizes sector-specific AI guidance. The message is clear: AI development in the EU must embed data protection by design—and regulators are now setting detailed expectations to ensure it happens. #AI#GDPR#CNIL

AI & Law

@ai_and_law · Post #607 · 04.07.2025 г., 07:04

🇫🇷France Launches PANAME: Building Tools to Audit AI Privacy France's CNIL has announced PANAME (Privacy Auditing of AI Models) — a new joint initiative with national digital regulators and research institutions to develop auditing tools for AI systems trained on personal data. The project aims to evaluate how well these models safeguard privacy and to publish a catalog of auditing instruments, with an emphasis on open-source accessibility. By leading the development of concrete, testable tools for privacy risk assessment in AI, CNIL positions Europe to move beyond principles into enforcement. PANAME is not just a technical step — it’s a governance strategy that seeks to embed accountability directly into AI infrastructure. #AICompliance#CNIL#AIRegulation#DataProtection

AI & Law

@ai_and_law · Post #139 · 16.10.2023 г., 07:04

France's CNIL Releases Initial Opinions on AI and GDPR Compliance Hello, everyone! France's data protection authority, the Commission nationale de l'informatique et des libertés (CNIL), has unveiled its initial perspectives on ensuring that artificial intelligence (AI) deployments adhere to the European Union's General Data Protection Regulation (GDPR). In its assessment, the CNIL recognizes the GDPR's role in providing an "innovative and protective framework" for AI. Moreover, the CNIL emphasizes how specific GDPR principles can be applied across a spectrum of AI technologies. #AI#GDPR#CNIL#DataProtection#Compliance