# 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)
无需编程基础,通过节点拖拽实现强大的桌面自动化流程。
## 📖 简介 (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