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

Пребарај: #gnn

当前筛选 #gnn清除筛选
Earth&Climate Tech

@earth_climate_tech · Post #343 · 11.07.2023 г., 18:13

Графовые нейронные сети для моделирования подземной архитектуры Пересматриваю статьи в журнале Mathematical Geosciences и натыкаюсь на довольно частое применение графовых нейронных сетей (Graph Neural Networks - GNN) в геологическом моделировании. Например, прекрасная статья Three-Dimensional Structural Geological Modeling Using Graph Neural Networks Трехмерные геологические модели это основа современного исследования недр для любых целей. Модель нужно построить по обрывкам данных, создать достоверную картинку. Это вообще-то сложно 🤯! Текущий подход - сделать сетку и применять геостатистические методы или машинное обучение для интерполяции внутри сетки. При этом возникают проблемы, когда геология сложная, например куча разломов. По сравнению с традиционными свёрточными нейронными сетями (CNN), GNN не имеют регулярной структуры и допускают сложную структурную информацию и геологические взаимоотношения, открывая новые возможности для моделирования трёхмерных структурных геологических моделей. Архитектура генерирует трехмерные структурные модели, ограниченные разбросанными точечными данными, геологической выборкой и границами (пластами и разломами). Геологическая природа нестркутрна и, возможно, графовые сети в будущем заменят традиционные подходы. На картинке прогноз строения пластов с GNN. #ML#AI#Subsurface_Modeling#GNN

GitHub Trends

@githubtrending · Post #15518 · 24.02.2026 г., 11:30

#rust#ai#ai_ocr#attention_mechanism#gnn#gnn_model#gnns#graph#graph_neural_networks#llm_inference#low_latency#mincut#neo4j#ocr#onnx#rust#vector#wasm RuVector is a free, open-source vector database that gets smarter with every query. Unlike static databases, it learns from usage via GNN layers, runs LLMs locally with no cloud costs, supports graph queries like Neo4j, scales freely across nodes, and deploys as a single self-booting file (125ms startup). Run with `npx ruvector`. You benefit from faster, more accurate AI search that improves automatically, zero operating costs, full offline/privacy control, and easy scaling—perfect for RAG, agents, or edge apps without vendor lock-in. https://github.com/ruvnet/ruvector