Skip to content

Qml TreeEdit with Controls2 (Qml树结构编辑器,使用Controls2实现)

License

Notifications You must be signed in to change notification settings

jaredtao/TreeEdit

Repository files navigation

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

效果预览

软件界面

导入

搜索

创建

删除

重命名

折叠和展开

清空

导出