gpt4 book ai didi

c++ - 为 TreeView 创建 Qt 模型

转载 作者:可可西里 更新时间:2023-11-01 15:51:43 26 4
gpt4 key购买 nike

我正在用 Qt(使用 C++)编写一个应用程序,我需要在 TreeView 中表示一个对象结构。一种方法是为此创建一个模型,但在阅读了有关该主题的 Qt 文档后我仍然很困惑。

我的“结构”非常简单 - 有一个 Project 对象,它在 std::vector 容器中保存 Task 对象。这些任务也可以包含子任务。

我已经编写了使用 Qt 的 XML 类从 XML 文件读取和写入这些项目的方法。

是否有更多关于从头开始创建模型的文档或“推荐阅读”?你建议我如何开始实现这个?

最佳答案

作为 Virgil 在对该问题的评论中所说内容的替代方案,您可以使用 QStandardItemModel为您的模型创建类,然后使用此类构建您的树。下面是一个例子:

QStandardItemModel* model = new QStandardItemModel();

QStandardItem* item0 = new QStandardItem(QIcon("test.png"), "1 first item");
QStandardItem* item1 = new QStandardItem(QIcon("test.png"), "2 second item");
QStandardItem* item3 = new QStandardItem(QIcon("test.png"), "3 third item");
QStandardItem* item4 = new QStandardItem("4 forth item");

model->appendRow(item0);
item0->appendRow(item3);
item0->appendRow(item4);
model->appendRow(item1);

ui->treeView->setModel(model);

当UI(view)被销毁时,删除model。文档:

关于c++ - 为 TreeView 创建 Qt 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com