• 3927阅读
  • 9回复

基于QGraphicsView的简易画板EasyCanvas -- 第二版 [复制链接]

上一主题 下一主题
离线douzhq
 

只看楼主 倒序阅读 楼主  发表于: 2020-09-06

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

第二版 在第一版的基础上增加如下功能:
  • 节点树
  • 撤销/重做
  • Python脚本动态修改节点属性
  • 方案管理


演示视频及代码讲解:
https://www.bilibili.com/video/BV1Aa4y1j763#reply3487117074


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
CSDN博客主页:https://blog.csdn.net/douzhq/article/details/104238018
完整代码下载https://github.com/douzhongqiang/EasyCanvas
软件下载:
链接:https://pan.baidu.com/s/1vEJ1T2txrGtSjlBNHip-tg  提取码:94ds



4条评分好评度+1贡献值+1金钱+10威望+1
20091001753 好评度 +1 - 2020-09-07
20091001753 贡献值 +1 - 2020-09-07
20091001753 威望 +1 - 2020-09-07
20091001753 金钱 +10 - 2020-09-07
离线libaineu2004

只看该作者 1楼 发表于: 2020-09-06
又遇到你了。顶一个。
离线liudianwu

只看该作者 2楼 发表于: 2020-09-07
很好很棒
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线九重水

只看该作者 3楼 发表于: 2020-09-07
GOOD JOB
离线lzh280

只看该作者 4楼 发表于: 2020-09-07
    
离线programmerhz

只看该作者 5楼 发表于: 2020-09-18
强,学习了,谢谢分享!
离线zyh114072964

只看该作者 6楼 发表于: 2020-10-05

离线小程序员

只看该作者 7楼 发表于: 2020-10-08
滚轮缩放画布应该加一个,还有Shift+画笔画直线的功能
离线douzhq

只看该作者 8楼 发表于: 2020-10-12
回 小程序员 的帖子
小程序员:滚轮缩放画布应该加一个,还有Shift+画笔画直线的功能 (2020-10-08 11:00) 

我代码是开源的,感兴趣你可以加一个。
离线flyer_2001

只看该作者 9楼 发表于: 2020-10-12
快速回复
限100 字节
 
上一个 下一个