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

Резултати

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

Пребарај: #transparencyinai

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

@ai_and_law · Post #417 · 11.10.2024 г., 07:04

AI Copyright Lawsuit: A New Era of Dataset Transparency? In a groundbreaking move for AI copyright disputes, a judge has permitted authors' representatives to inspect OpenAI's confidential training dataset under strict conditions. This decision could set a precedent for how training data is scrutinized in future legal battles over AI-generated content. The inspection is to be conducted in a highly controlled environment—either at OpenAI’s San Francisco office or a secure location within a 25-mile radius. A secured, internet-free computer will be provided, containing a README file with a directory of the data. The inspection room bans recording devices, although a note-taking computer can be provided under supervision, ensuring that sensitive data remains protected. Only individuals qualified under the protective order can access the data, emphasizing the heightened confidentiality. This level of transparency and rigor in examining training data might become a standard in AI litigation. As AI technology continues to reshape industries, balancing innovation with intellectual property rights will require similar measures to ensure fairness and accountability. #AICopyright#TransparencyInAI#AIRegulation

AI & Law

@ai_and_law · Post #197 · 22.12.2023 г., 08:04

CAI Unveils Public "Zero Draft" for AI Framework Convention Greetings AI & Law community! The European Committee on Artificial Intelligence (CAI) has announced the public release of the revised "Zero Draft" Framework Convention on Artificial Intelligence, Human Rights, Democracy, and the Rule of Law. Key Points: 1️⃣ The "Zero Draft" serves as the foundational document for drafting the Framework Convention and is not the final outcome of CAI negotiations. 2️⃣ A Consolidated Working Draft has been prepared based on the first reading of the revised Zero Draft, containing preliminary agreements and proposals for further negotiations. 3️⃣ The text which is not in brackets and in red font is considered to be preliminarily agreed. 4️⃣ The CAI Bureau has decided to make this document public, providing transparency into the ongoing process. The recently released Draft Framework Convention, based on outcomes from the second reading, will be the focal point for the upcoming 9th Plenary meeting. Notably, provisions under negotiation include the Scope, Risk and impact management framework, and the Conference of the Parties. #AIlaw#CAI#AIregulation#FrameworkConvention#TransparencyInAI