# Qflow **Repository Path**: dulang104/Qflow ## Basic Information - **Project Name**: Qflow - **Description**: Qflow 是一个本人原创基于 Python 开发的轻量级可视化自动化流程编辑器 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-17 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Qflow - 可视化桌面自动化工具 (Desktop Automation Tool)

Qflow Demo
无需编程基础,通过节点拖拽实现强大的桌面自动化流程。

## 📖 简介 (Introduction) **Qflow** 是一个本人原创基于 Python 开发的轻量级可视化自动化流程编辑器。用户通过简单拖拽节点、连接连线的方式,即可构建复杂的桌面自动化任务。 * **源码开放**:完全透明的逻辑实现。 * **绿色单文件**:无需繁琐安装。 * **隐私安全**:离线运行,不联网,不上传任何数据。 * **低资源占用**:无需独显,普通办公电脑即可运行。 ## ✨ 核心功能 (Features) * **🎨 可视化编排**:支持节点拖拽、无限画布缩放/平移、框选操作、撤销/重做。 * **👁️ 视觉感知**: * **智能找图**:集成 OpenCV,支持模板匹配、AKAZE 特征匹配,支持多尺度自动搜索。 * **静止监控**:监控屏幕区域是否静止(如判断软件是否加载完成)。 * **🖱️ 键盘/鼠标控制**:支持点击、移动、拖拽、滚动,支持文本输入及快捷键触发。 * **🔊 音频触发**:内置音频峰值检测(Windows),实现“听到声音即触发”的自动化。 * **🧠 复杂逻辑支持**: * **流控制**:循环 (Loop)、多路径分支 (Sequence)、条件判断 (Switch)。 * **变量交互**:变量存取,支持剪贴板读取与写入,实现多应用数据协同。 * **🛠️ 开发者工具**:内置像素级截图工具,智能窗口拾取,支持实时匹配测试。 ## 📋 更新日志 (Changelog) ### [1.7.4] - 2026-03-15 - **新增**:工具箱滚动条、可调节日志面板。 - 增加日志栏快速入门引导。 - **稳定性修复**: - 修复多线程环境下 UI 交互导致的主线程阻塞/闪退问题。 - 修复多图检测节点中的 Bbox 坐标格式兼容性问题。 - 修复节点属性面板内存泄漏(清理旧 UI 组件)。 - 修复“序列”节点重复执行逻辑 Bug。 ### [1.7.3] - 2026-03-14 - **新增**:工具箱滚动条、可调节日志面板。 - **优化**:静止检测逻辑,新增“目标窗口防遮挡”自动回拉机制。 ### [1.7.2] - 2026-03-14 - **新增**:`📋 剪贴板` 节点,支持另存为/原位保存逻辑。 - **优化**:全局微软雅黑字体,提升高分屏显示体验。 - **修复**:窗口选取时的截图遮挡 Bug,修复属性面板连续输入被打断 Bug。 ## 🎮 使用说明 (Usage) ### 快捷键对照表 | 操作 | 默认快捷键 | | :--- | :--- | | **启动流程** | `F9` | | **停止流程** | `F10` | | **保存项目** | `Ctrl + S` | | **撤销/重做** | `Ctrl + Z` / `Ctrl + Y` | | **删除节点** | `Delete` | ### 快速开始 1. **拖拽**:从左侧工具栏拖入一个 `▶ 开始` 节点。 2. **连接**:点击端口拖动连线到下一个节点。 3. **设置**:选中节点,在右侧面板配置动作(如:找图、点击、延时)。 4. **运行**:点击上方 `▶ 启动` 或使用快捷键 `F9`。 ## ⚙️ 安装 (Installation) 1. **环境准备**:确保系统安装了 **Python 3.8+**。 2. **下载代码**: ```bash git clone https://github.com/Qwejay/Qflow.git cd Qflow ``` 2. **安装依赖** 建议使用虚拟环境: ```bash pip install -r requirements.txt ``` *注意:如果没有安装 `opencv-python`,程序仍可运行,但高级图像识别功能受限。* 3. **运行程序** ```bash python main.py ``` ## 🎮 使用说明 (Usage) ### 界面概览 * **左侧工具栏**:包含所有可用节点,按类别分组(逻辑、动作、视觉)。 * **中间画布**:主要工作区。右键点击画布也可呼出节点菜单。 * **右侧属性面板**:点击任意节点,在此处配置详细参数(如点击坐标、图片阈值、循环次数等)。 * **底部日志**:显示当前的运行状态和错误信息。 ### 快捷键 (Hotkeys) | 操作 | 快捷键 | | :--- | :--- | | **启动流程** | ` + 1` (默认) | | **停止流程** | ` + 2` (默认) | | **删除节点** | `Delete` | | **撤销** | `Ctrl + Z` | | **重做** | `Ctrl + Y` | | **多选节点** | 按住鼠标左键拖拽框选 | ### 快速开始 1. 拖入一个 **Start (开始)** 节点。 2. 拖入一个 **Image (找图)** 节点。 3. 点击找图节点,在右侧属性面板点击 "📸 截取",框选屏幕上的目标。 4. 将 Start 的 `out` 端口连接到 Image 的 `in` 端口。 5. 拖入一个 **Mouse (鼠标)** 节点,设置为点击操作,连接 Image 的 `found` 端口。 6. 点击顶部 "▶ 启动" 或按 `Alt+1` 运行。 ## 📦 依赖库说明 * **tkinter**:构建 GUI 界面。 * **pyautogui**: 实现鼠标和键盘的模拟控制。 * **opencv-python (cv2)**: 提供强大的图像识别算法。 * **pycaw / comtypes**: 用于 Windows 系统下的音频会话捕捉。 * **pynput**: 用于监听全局快捷键。 ## ⚠️ 免责声明 本工具仅供学习和个人办公辅助使用。请勿用于开发违反游戏服务条款的脚本或恶意软件。作者不对使用本工具造成的任何后果负责。 ## 📄 License GPL-3.0 license