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

Резултати

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

Пребарај: #mihomo

当前筛选 #mihomo清除筛选
百晓生

@tg_omni · Post #61 · 06.09.2025 г., 13:30

mihomo 内核已支持的代理协议/代理类型: * HTTP * HTTPS * SOCKS5 * Snell v1~v3 * Shadowsocks * ShadowsocksR * Shadowsocks2022 * Trojan * VMess * VMessAEAD * VLESS-WS * VLESS-TLS * VLESS-XHTTP * VLESS-REALITY * VLESS-XTLS Vision * VLESS-Encryption * Hysteria * Hysteria2 * WireGuard * AnyTLS * Mieru * TUIC * SSH * Sudoku * MASQUE * TrustTunnel 使用 mihomo 内核的客户端: * Clash Party(原名: Mihomo Party) * Sparkle * ClashMac * ClashBar * FlClash * FlyClash * Clash Nyanpasu * Clash Verge Rev * ClashX.Meta * Clash.Meta for Android mihomo 频道 * @clashmeta 备注 * Clash.Meta,于2023年改名为:mihomo,目前一直更新中。 #Clash#mihomo ✅️ 百晓生: @tg_omni

APP喵-软件资源共享

@appmew · Post #16251 · 05.02.2026 г., 07:26

MIHOMO_YAMLS:Mihomo / Clash Meta 核心专用配置精选合集 一个精心整理的 Mihomo (Clash Meta) 配置文件仓库,通过 GitHub Actions 每日自动同步上游优质规则,提供从入门到进阶的完整解决方案。 项目亮点 每日更新:自动化脚本每日抓取,确保配置与规则保持最新。 严格分类:拒绝杂乱,提供清晰的分类逻辑,满足不同场景需求。 透明来源:数据源自开源社区,整合优质资源,纯净无后门。 开箱即用:专为新手优化,无需复杂配置,导入即可畅享流畅体验。 🏷标签:#mihomo#Clash#规则 ☁链接:点击获取 ⭐频道😮群聊✏投稿🌍中文

探索号

@seeker_rc · Post #20225 · 11.05.2026 г., 06:25

vibe coding 了一个基于 .NET + mihomo 的纯控制台代理管理工具 周末 vibe coding 了一个基于 .NET + mihomo 的纯控制台代理管理工具 Paprika 之前做过 .net 开发的,第一次尝试 vibe coding 感觉好爽 目前已经做了这些功能: - mihomo 核心下载 / 更新 / 启动 / 关闭 / 重启 - 本地配置导入 - 订阅链接导入和更新 - 配置切换 - 策略组 / 节点选择 - 系统代理开关和排除域名管理 - TUN 模式 - TUN 健康检查、一键修复、连通性测试 - TUN 排除网段管理 - 连接查看、搜索、关闭 - mih... via V2EX 分享创造 标签: #mihomo#代理#TUN ⚡️探索号频道 ⚡️探索者频道 ⚡️探索者交流群 ⚡️ Youtube 频道:科技探索者 每天推荐有趣内容,欢迎订阅、转发。

喬苑

@Qiao_blog · Post #1428 · 06.03.2026 г., 05:14

MIHOMO_YAMLS — 一个关于 mihomo 的综合工具库 #tools#github#mihomo#yaml 这个项目的名字虽然叫 MIHOMO_YAMLS,但它的定位早已超出了"配置文件集合"的范畴,更准确地说,它是一个围绕 mihomo 生态构建的综合性工具与知识库。 项目目前涵盖以下几个方向: 配置教程与文档 Wiki 提供了从零开始编写 mihomo 配置文件的系统性指引,无论是新手入门还是进阶调优,都可以在这里找到参考。 多流派配置收集 THEYAMLS 目录收录了来自社区不同风格、不同思路的配置方案,方便用户横向对比、按需取用。 覆写文件支持 针对 openclash或者一些订阅转换工具生成的配置,Overwrite 目录提供了对应的覆写文件,便于在不修改原始配置的前提下进行定制化调整。 规则集整理 项目汇整了来自各方的规则集资源,并在 CREDITS 文档中进行了统一归档与致谢。项目本身的 geodata 部分也提供了一些自维护的规则集。 客户端索引 CLIENTS 文档统计并整理了目前基于 mihomo 内核的主流客户端,方便用户根据平台和需求快速选型。 本项目仍在持续完善中,后续将补充更多内容。欢迎关注、使用,也欢迎提交 Issue 或 PR 参与共建。 项目地址:https://github.com/HenryChiao/MIHOMO_YAMLS

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