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

Резултати

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

Пребарај: #svg

当前筛选 #svg清除筛选
探索号

@seeker_rc · Post #19822 · 07.05.2026 г., 01:55

做了一个图片转 SVG 的小工具,解决 AI 生图后不够清晰、不可编辑的问题 大家好,分享一个最近做的小工具: https://svgconverter.cloud 现在很多 AI 生图工具已经很好用了,比如生成 Logo 、图标、插图、贴纸、头像素材等等。但我们自己在使用过程中经常遇到一个问题:生成出来的图片通常还是 PNG / JPG / WebP ,后续如果想放大、改颜色、放进设计工具里继续编辑,就会比较麻烦。 尤其是 Logo 、图标、简单插画这类素材,很多时候其实更适合用 SVG 。SVG 可以无限缩放,也更方便在 Figma 、Illustrator 、网页项目里继续处理。 所以我们做了一... via V2EX 分享创造 标签: #SVG#AI#Logo ⚡️探索号频道 ⚡️探索者频道 ⚡️探索者交流群 ⚡️ Youtube 频道:科技探索者 每天推荐有趣内容,欢迎订阅、转发。

Hashtags

拔毛工 🥸

@bamaogong · Post #939 · 13.10.2025 г., 05:56

#SVG#3D#模型转换 SVG to 3D SVG 矢量图转 3D 模型工具,除了简单的拉伸,还可以调整厚度、倒角、PBR 材质等,并可实时预览,完美适配 React Three Fiber 工作流,最大可上传 5MB,支持批量处理,支持导出 GLB、GLTF、OBJ、STL 多种格式,完全免费,无需注册。 🧲 网站网址:http://www.svgto3d.com/zh

JJ.ai (NFA)🪽

@jsmjsmxyz · Post #1153 · 27.07.2021 г., 07:02

#Tool#Design#SVG#GitHub 🧑‍🎨 自Design:提升设计体验的开源 SVG 工具 得益于强大的可拓展性,SVG 在设计过程中更受设计师的青睐,今天我们就来看看一些和 SVG 相关的设计工具,希望能提高你的设计体验 1⃣️SVG Gobbler:网页 SVG 素材采集器 官网 | GitHub - 操作简单,使用方便,零学习成本 - 支持下载、复制采集到的 SVG 元素 - 支持将 SVG 转化成特定大小 PNG 后下载 - 支持查看 SVG 源代码,并进行格式优化 - 以 Chrome、Firefox 插件的形式使用 2⃣️Pattern Monster:客制化你的 SVG 素材 官网 | GitHub - 提供 200+ 个 SVG 设计模版 - 可以基于每个模版进行客制化创作 - 支持调整元素的颜色、大小、粗细、间距等属性 - 提供元素随机生成功能 - 支持以 CSS、SVG、PNG 的格式导出 👀 本文海报采用 Pattern Monster 生成,我爱 SVG! 📘 关联阅读:Haikei · 快速生成独特的背景设计 频道:@NewlearnerChannel

纯情男高

@hanzichen · Post #1089 · 05.09.2025 г., 09:18

hyvector:在线 矢量图编辑器。 支持创建和编辑 SVG 格式图形,提供基本的绘图工具,如矩形、圆形、线条、路径和文本,支持图层管理、颜色选择、路径编辑、对齐和分布等功能。 适合快速制作 图标、插图和 UI 元素,生成的 SVG 文件可直接下载,免费使用,无需注册。 🏷标签:#网站#矢量图编辑器#图标#SVG ☁链接:点击获取 ⭐频道😮圈子✏投稿🌍中文

12
ПретходнаСтраница 1 од 2Следна