{"id":16604884,"url":"https://github.com/jaredtao/treeedit","last_synced_at":"2026-03-06T11:02:28.467Z","repository":{"id":41045321,"uuid":"227342171","full_name":"jaredtao/TreeEdit","owner":"jaredtao","description":"Qml TreeEdit with Controls2 (Qml树结构编辑器，使用Controls2实现)","archived":false,"fork":false,"pushed_at":"2021-01-26T10:50:16.000Z","size":1617,"stargazers_count":68,"open_issues_count":2,"forks_count":30,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-03T21:35:24.018Z","etag":null,"topics":["qml","qt","qtquick","qtquick-controls2","treeedit","treeview"],"latest_commit_sha":null,"homepage":"","language":"QML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaredtao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-11T10:46:54.000Z","updated_at":"2024-10-17T02:18:42.000Z","dependencies_parsed_at":"2022-09-20T12:53:58.148Z","dependency_job_id":null,"html_url":"https://github.com/jaredtao/TreeEdit","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jaredtao/TreeEdit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FTreeEdit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FTreeEdit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FTreeEdit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FTreeEdit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredtao","download_url":"https://codeload.github.com/jaredtao/TreeEdit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FTreeEdit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30173348,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T07:56:45.623Z","status":"ssl_error","status_checked_at":"2026-03-06T07:55:55.621Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["qml","qt","qtquick","qtquick-controls2","treeedit","treeview"],"created_at":"2024-10-12T01:00:12.033Z","updated_at":"2026-03-06T11:02:23.458Z","avatar_url":"https://github.com/jaredtao.png","language":"QML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TreeEdit\r\n\r\nQml实现的树结构编辑器。\r\n\r\n|功能|进度|tag|\r\n|--|--|--|\r\n|树结构的缩进|完成|0.1.0|\r\n|展开、折叠|完成|0.1.0|\r\n|添加|完成|0.1.0|\r\n|删除|完成|0.1.0|\r\n|重命名|完成|0.1.0|\r\n|搜索|完成|0.1.0|\r\n|导入|完成|0.2.0|\r\n|导出|完成|0.2.0|\r\n|性能测试|支持|master|\r\n|节点属性编辑|计划中|\r\n|勾选|计划中||\r\n|行选|计划中||\r\n|拖拽|计划中||\r\n\r\n## 原理\r\n\r\nView 使用qml中的 Controls2 ListView\r\n\r\nModel使用C++中的 QAbstractListModel子类\r\n\r\nmodel中增加额外数据，表示树结构的深度、父子关系等，view通过额外数据显示、处理。\r\n\r\n## Qt版本\r\n\r\n5.12.x\r\n\r\n## Build\r\n\r\n| [Windows][win-link]| [Ubuntu][ubuntu-link]|[MacOS][macos-link]|[Android][android-link]|[IOS][ios-link]|\r\n|---------------|---------------|-----------------|-----------------|----------------|\r\n| ![win-badge]  | ![ubuntu-badge]      | ![macos-badge] |![android-badge]   |![ios-badge]   |\r\n\r\n\r\n[win-link]: https://github.com/JaredTao/TreeEdit/actions?query=workflow%3AWindows \"WindowsAction\"\r\n[win-badge]: https://github.com/JaredTao/TreeEdit/workflows/Windows/badge.svg  \"Windows\"\r\n\r\n[ubuntu-link]: https://github.com/JaredTao/TreeEdit/actions?query=workflow%3AUbuntu \"UbuntuAction\"\r\n[ubuntu-badge]: https://github.com/JaredTao/TreeEdit/workflows/Ubuntu/badge.svg \"Ubuntu\"\r\n\r\n[macos-link]: https://github.com/JaredTao/TreeEdit/actions?query=workflow%3AMacOS \"MacOSAction\"\r\n[macos-badge]: https://github.com/JaredTao/TreeEdit/workflows/MacOS/badge.svg \"MacOS\"\r\n\r\n[android-link]: https://github.com/JaredTao/TreeEdit/actions?query=workflow%3AAndroid \"AndroidAction\"\r\n[android-badge]: https://github.com/JaredTao/TreeEdit/workflows/Android/badge.svg \"Android\"\r\n\r\n[ios-link]: https://github.com/JaredTao/TreeEdit/actions?query=workflow%3AIOS \"IOSAction\"\r\n[ios-badge]: https://github.com/JaredTao/TreeEdit/workflows/IOS/badge.svg \"IOS\"\r\n\r\n## Release\r\n\r\n|[许可][license-link]|[已发布][release-link]|[下载][download-link]|下载次数|\r\n|:--:|:--:|:--:|:--:|\r\n|![license-badge]|![release-badge] |![download-badge]|![download-latest]|\r\n\r\n\r\n[license-link]: https://github.com/jaredtao/TreeEdit/blob/master/LICENSE \"LICENSE\"\r\n[license-badge]: https://img.shields.io/badge/license-MIT-blue.svg \"MIT\"\r\n[release-link]: https://github.com/jaredtao/TreeEdit/releases \"Release status\"\r\n[release-badge]: https://img.shields.io/github/release/jaredtao/TreeEdit.svg?style=flat-square \"Release status\"\r\n[download-link]: https://github.com/jaredtao/TreeEdit/releases/latest \"Download status\"\r\n[download-badge]: https://img.shields.io/github/downloads/jaredtao/TreeEdit/total.svg \"Download status\"\r\n[download-latest]: https://img.shields.io/github/downloads/jaredtao/TreeEdit/latest/total.svg \"latest status\"\r\n\r\n## 性能测试\r\n\r\n### 测试环境\r\n\r\nCPU: Intel i5-8400 2.8GHz\r\n\r\n内存: 16GB\r\n\r\nOS: Windows10 1909\r\n\r\nQt: 5.12.6\r\n\r\n编译器: msvc 2017 x64\r\n\r\n测试框架: QTest\r\n\r\n### 测试结果\r\n\r\n|节点数量|嵌套数量|导入平均耗时(毫秒)|导出平均耗时(毫秒)|\r\n|--|--|--|--|\r\n|1|1|0.050|0.96|\r\n|1|10|0.089|5.15|\r\n|1|100|0.57|12|\r\n|10|1|0.10|3.7|\r\n|10|10|0.42|6.0|\r\n|10|100|5.1|79.5|\r\n|100|1|0.65 |6.6|\r\n|100|10|3.8|40.0|\r\n|100|100|59|468|\r\n|1000|1|5.8 |33|\r\n|1000|10|37 |108|\r\n|1000|100|671 |3765|\r\n|10000|1|59 |74|\r\n|10000|10|386 |823|\r\n|10000|100|6720 |39563|\r\n\r\n\r\n\r\n## 效果预览\r\n\r\n### 软件界面\r\n\r\n![](preview/preview.png)\r\n\r\n### 导入\r\n\r\n![](preview/import.gif)\r\n\r\n### 搜索\r\n\r\n![](preview/find.gif)\r\n\r\n### 创建\r\n\r\n![](preview/create.gif)\r\n\r\n### 删除\r\n\r\n![](preview/delete.gif)\r\n\r\n### 重命名\r\n\r\n![](preview/rename.gif)\r\n\r\n### 折叠和展开\r\n\r\n![](preview/expo.gif)\r\n\r\n### 清空\r\n\r\n![](preview/clear.gif)\r\n\r\n### 导出\r\n\r\n![](preview/save.gif)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredtao%2Ftreeedit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredtao%2Ftreeedit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredtao%2Ftreeedit/lists"}