基于QGraphicsView的简易画板EasyCanvas -- 第二版
EasyCanvas 第二版,第一版的功能可参见:
基于QGraphicsView的简易画板EasyCanvas – 第一版
第二版 在第一版的基础上增加如下功能:
- 节点树
- 撤销/重做
- Python脚本动态修改节点属性
- 方案管理
1. 节点树
具有同步选择节点、删除节点、节点重命名和搜索的功能。
节点树使用Qt的Model-View框架实现
2. 撤销/重做(Redo/Undo)
使用Qt的 QUndoCommand 和 QUndoStack 的实现。
快捷键 Ctrl+Z 撤销,Ctrl+Y 重做
撤销重做栈中会记录每一步的操作
3. Python脚本
增加了一些与画布相关的基本命令,如 创建、删除节点,修改和获取节点属性等
具体的命令可以参见:EasyCanvas命令介绍
Python与C++交互部分使用 PythonQt 实现的,关于PythonQt的更多介绍可以参考这篇文章:
使用PythonQt实现C++与Python混合编程
4. 方案管理
增加新建空白方案、打开、保存、删除方案等功能。
这里使用 SQLite 数据库,将方案保存到本地数据库中。
5. 其他
- 增加使用键盘方向键微调元素位置
- 增加快捷键 Ctrl+C 复制,Ctrl+V 粘贴 元素的功能
作者:douzhq
个人博客主页:http://www.douzhq.cn
完整代码下载:https://github.com/douzhongqiang/EasyCanvas
软件下载:
链接:https://pan.baidu.com/s/1vEJ1T2txrGtSjlBNHip-tg 提取码:94ds