基于QGraphicsView的简易画板EasyCanvas -- 第二版

EasyCanvas 第二版,第一版的功能可参见:
基于QGraphicsView的简易画板EasyCanvas – 第一版

第二版 在第一版的基础上增加如下功能:

  • 节点树
  • 撤销/重做
  • Python脚本动态修改节点属性
  • 方案管理

1. 节点树

具有同步选择节点、删除节点、节点重命名和搜索的功能。
节点树使用Qt的Model-View框架实现

基于QGraphicsView的简易画板EasyCanvas -- 第二版

2. 撤销/重做(Redo/Undo)

使用Qt的 QUndoCommandQUndoStack 的实现。
快捷键 Ctrl+Z 撤销,Ctrl+Y 重做
撤销重做栈中会记录每一步的操作

基于QGraphicsView的简易画板EasyCanvas -- 第二版

3. Python脚本

增加了一些与画布相关的基本命令,如 创建、删除节点,修改和获取节点属性等
具体的命令可以参见:EasyCanvas命令介绍
Python与C++交互部分使用 PythonQt 实现的,关于PythonQt的更多介绍可以参考这篇文章:
使用PythonQt实现C++与Python混合编程

基于QGraphicsView的简易画板EasyCanvas -- 第二版

4. 方案管理

增加新建空白方案、打开、保存、删除方案等功能。
这里使用 SQLite 数据库,将方案保存到本地数据库中。

基于QGraphicsView的简易画板EasyCanvas -- 第二版

5. 其他

  • 增加使用键盘方向键微调元素位置
  • 增加快捷键 Ctrl+C 复制,Ctrl+V 粘贴 元素的功能

作者:douzhq
个人博客主页:http://www.douzhq.cn
完整代码下载:https://github.com/douzhongqiang/EasyCanvas
软件下载:
链接:https://pan.baidu.com/s/1vEJ1T2txrGtSjlBNHip-tg 提取码:94ds