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

Пребарај: #mllm

当前筛选 #mllm清除筛选
GitHub Trends

@githubtrending · Post #15062 · 15.08.2025 г., 12:30

#python#mllm#point_clouds#scene_understanding#spatial_intelligence SpatialLM is a powerful 3D language model that turns complex 3D point cloud data from videos, RGBD images, or LiDAR into clear, structured 3D scene layouts showing walls, doors, windows, and objects with labels. It works without needing special equipment and can detect user-specified object categories. This helps you understand and analyze indoor spaces better, useful for robotics, navigation, and 3D design. You can run it on your data, visualize results, and even customize detection tasks easily, making 3D scene understanding more accessible and flexible for many applications. https://github.com/manycore-research/SpatialLM

GitHub Trends

@githubtrending · Post #15528 · 28.02.2026 г., 12:00

#python#agent#android#app#automation#copilot#gui#mllm#mobile#mobile_agents#multimodal#multimodal_agent#multimodal_large_language_models Mobile-Agent-v3.5 is Alibaba's top GUI agent family using GUI-Owl 1.5 models (2B to 235B sizes) for automating desktop, mobile, and browser tasks like stock checks, bookings, or document creation with planning, reflection, and memory. Try free online demos on ModelScope or Bailian, or use limited-time APIs—no setup needed. It leads 20+ benchmarks for real-world use. You benefit by saving time on repetitive tasks, boosting productivity, and handling complex operations hands-free across devices. https://github.com/X-PLUG/MobileAgent

GitHub Trends

@githubtrending · Post #14639 · 27.04.2025 г., 13:00

#python#agent_computer_interface#ai_agents#computer_automation#computer_use#grounding#gui_agents#in_context_reinforcement_learning#memory#mllm#planning#retrieval_augmented_generation Agent S2 is a smart AI assistant that handles computer tasks by breaking them into smaller steps and using specialized tools for each part, making it highly adaptable and efficient across different systems like Windows and Android. It outperforms other AI tools in completing complex tasks, learns from experience, and adjusts plans as needed, helping users automate digital work more reliably and effectively. https://github.com/simular-ai/Agent-S