qt - 如何混合 QStandardItemModel
问题描述
我使用 QStandardItemModel 制作了一个 TreeView,如下图 A
我也有一个 QStandardItemModel 如下图 B
现在,我想将两个模型混合在一起,为 TreeView 创建一个新模型
新的 TreeView 如下图 C所示:
例子:
QStandardItemModel * fileTree = new QStandardItemModel();
QStandardItemModel * zipTree = new QStandardItemModel();
QStandardItemModel * fullTree = new QStandardItemModel();
......
......
fileTree 是 TreeView 图像 A 的模型;
zipTree 是 TreeView 图像 B 的模型;
如何混合它们为 TreeView 图像 C 制作 fullTree。
更新:
3个数据都有一个模型,只是数据不同。我想合并照片 C 表格 A + B 的数据。文件 a.zip -> 文件夹 a。并将a(图像B)的文件列表添加到新文件夹(a)
P/S:不要使用 QfileSystemModel
解决方案
QTreeView t;
QStandardItemModel a;
t.setModel(&a);
t.show();
我简化了Image A
,构造如下:
QStandardItem* folder1 = new QStandardItem("folder1");
QStandardItem* zip = new QStandardItem("a.zip");
a.appendRow(folder1);
folder1->appendRow(zip);
构造Image B
:
QStandardItemModel b;
b.appendRow(new QStandardItem("filea"));
b.appendRow(new QStandardItem("fileb"));
b.appendRow(new QStandardItem("filec"));
“混合”两者Image C
:
zip->setText(zip->text().remove(".zip"));
for (int i = 0; i < b.rowCount(); i++) {
zip->appendRow(b.takeItem(i));
}
推荐阅读
- crystal-reports - 如何在现有的水晶报表公式中添加秒?
- django - 在 Django 中扩展 AbstractUser 模型
- bash - 为什么即使两个 elif 语句相似,它们的行为也会不同?
- visual-studio-2017 - SSMS 和 Visual Studio 仅以管理员身份运行
- java - 如何发送具有 Flux/Mono 属性的类的 ResponseEntity 的 Mono
- python - 在 Featuretools 错误 TypeError 中创建实体集:“str”对象不支持项目分配
- c# - 使用 AutoMapper 协助迭代对象
- python - 如何更改 iopub_data_rate_limit = 10000000 的设置?
- sql - 如何构建来自 plsql 的 json 请求?
- javascript - 是否有技术或代码风格的原因不命名您的 IIFE 函数?