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 слични објави

Пребарај: #technologylaw

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

@ai_and_law · Post #368 · 06.08.2024 г., 07:04

English Court of Appeal Decides Artificial Neural Network is Not Patentable In a landmark decision, the English Court of Appeal has ruled that an artificial neural network (ANN) is not patentable, reversing the High Court’s earlier decision. This decision aligns with the UK Intellectual Property Office’s (IPO) initial rejection of the patent application on the grounds of unpatentable subject matter. The case, Comptroller-General of Patents, Designs and Trade Marks v Emotional Perception AI Ltd [2024] EWCA Civ 825, highlighted key issues about the nature of ANNs and their patentability. The Court clarified that both hardware and software ANNs are considered computers and that their "weights and biases" are equivalent to a computer program. This means they fall under the computer program exclusion from patentability unless they can demonstrate a "technical contribution" outside the computer program itself. Importantly, the Court concluded that the training of the ANN, as part of the program's creation, does not constitute a technical contribution. Additionally, the outputs of the ANN, such as improved music recommendations, were deemed non-technical and subjective, thus not contributing to the patentability of the AI system. This decision has significant implications for the patent claims of generative AI systems, where training is a crucial part of development. #AI#PatentLaw#GenerativeAI#IntellectualProperty#TechnologyLaw#AIRegulation#UKLaw

AI & Law

@ai_and_law · Post #105 · 06.09.2023 г., 07:04

UK House of Commons Committee Issues Interim AI Governance Report Hello everyone! The UK House of Commons Committee on Science, Innovation, and Technology has released an interim report on AI governance. In a consultation involving over 100 AI experts, including researchers, businesses, and civil society representatives, the Committee explored AI applications in education, healthcare, and medicine, assessing their benefits and potential risks. While the UK government currently adopts a light-touch approach to AI regulation, the Committee warns that without an AI bill introduced before the next general election, the UK may lag behind the EU and US, both of which are making significant legislative progress in AI regulation. The report identifies 12 pivotal challenges for policymakers in shaping AI frameworks: 1. Bias 2. Privacy 3. Misrepresentation 4. Access to Data 5. Access to Compute 6. Black Box Algorithms 7. Open-Source Code 8. Intellectual Property and Copyright 9. Liability 10. Employment Disruption 11. International Coordination 12. Existential Threats The report emphasizes the need for mechanisms to prevent bias, protect privacy, and ensure transparency in AI systems, urging the introduction of an AI bill to maintain the UK's leadership in AI governance. #AIGovernance#UKAI#AIRegulation#AIChallenges#AIReport#TechnologyLaw#AIInnovation