查看完整版本: [-- 基于QGraphicsView的简易画板EasyCanvas -- 第二版 --]

QTCN开发网 -> Qt 作品展 -> 基于QGraphicsView的简易画板EasyCanvas -- 第二版 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

douzhq 2020-09-06 13:00

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


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




libaineu2004 2020-09-06 19:23
又遇到你了。顶一个。

liudianwu 2020-09-07 11:05
很好很棒

九重水 2020-09-07 13:40
GOOD JOB

lzh280 2020-09-07 19:20
    

programmerhz 2020-09-18 14:58
强,学习了,谢谢分享!

zyh114072964 2020-10-05 10:11


小程序员 2020-10-08 11:00
滚轮缩放画布应该加一个,还有Shift+画笔画直线的功能

douzhq 2020-10-12 12:06
小程序员:滚轮缩放画布应该加一个,还有Shift+画笔画直线的功能 (2020-10-08 11:00) 

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

flyer_2001 2020-10-12 14:08


查看完整版本: [-- 基于QGraphicsView的简易画板EasyCanvas -- 第二版 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled