6 Star 61 Fork 37

Qt进阶之路 / TreeEdit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.67 KB
一键复制 编辑 原始数据 按行查看 历史
jared 提交于 2020-07-29 19:59 . update plan

TreeEdit

Qml实现的树结构编辑器。

功能 进度 tag
树结构的缩进 完成 0.1.0
展开、折叠 完成 0.1.0
添加 完成 0.1.0
删除 完成 0.1.0
重命名 完成 0.1.0
搜索 完成 0.1.0
导入 完成 0.2.0
导出 完成 0.2.0
性能测试 支持 master
节点属性编辑 计划中
勾选 计划中
行选 计划中
拖拽 计划中

原理

View 使用qml中的 Controls2 ListView

Model使用C++中的 QAbstractListModel子类

model中增加额外数据,表示树结构的深度、父子关系等,view通过额外数据显示、处理。

Qt版本

5.12.x

Build

Windows Ubuntu MacOS Android IOS
win-badge ubuntu-badge macos-badge android-badge ios-badge

Release

许可 已发布 下载 下载次数
license-badge release-badge download-badge download-latest

性能测试

测试环境

CPU: Intel i5-8400 2.8GHz

内存: 16GB

OS: Windows10 1909

Qt: 5.12.6

编译器: msvc 2017 x64

测试框架: QTest

测试结果

节点数量 嵌套数量 导入平均耗时(毫秒) 导出平均耗时(毫秒)
1 1 0.050 0.96
1 10 0.089 5.15
1 100 0.57 12
10 1 0.10 3.7
10 10 0.42 6.0
10 100 5.1 79.5
100 1 0.65 6.6
100 10 3.8 40.0
100 100 59 468
1000 1 5.8 33
1000 10 37 108
1000 100 671 3765
10000 1 59 74
10000 10 386 823
10000 100 6720 39563

效果预览

软件界面

导入

搜索

创建

删除

重命名

折叠和展开

清空

导出

C++
1
https://gitee.com/jaredtao/TreeEdit.git
git@gitee.com:jaredtao/TreeEdit.git
jaredtao
TreeEdit
TreeEdit
master

搜索帮助