1

我是 C++ 的新手,很抱歉可能会出现奇怪的问题。我有一个 QT 学习任务和一些入门问题:

我必须从 txt 中提取一些数据,将它们放入 QT 的数据库/模型中,并使它们在 QML 界面中可编辑。

我提取的数据例如(三个示例):

名称:NAV.brake.radius
值:7
描述:导航制动圆半径 [m]

名称:NAV.slowdown.radius
值:20
描述:导航减速圆半径 [m]

名称:CTRL.use.acc
值:yes
描述:CTRL 使用加速度计


我的主要问题是:我应该在哪里存储提取的数据?

我应该将“名称”存储在 QString 中,将值存储在 QVariant 中,将描述存储在 QString 中,将它们全部放在“数据”类中,并以某种方式将数据存储到 AbstractItemModel 中吗?还是使用 QStandardItemModel ?

我真的很难找到工作的入口。可能你们中的一些人有关于如何使用模型存储或连接数据的提示吗?

最好的祝福加利

4

1 回答 1

0

AbstractItemModel 为您提供了一种存储数据的“抽象”方式。除了可以通过您实现的 data(...) 函数调用访问之外,您不需要维护数据的底层数据结构。从本质上讲,这意味着您的数据应该被可视化为某种索引容器。

如果我理解您的问题,那么您有一个包含多个数据点的节点。我建议将您的节点建模为 c++ 结构,并让您的 ItemModel 实现保留到该结构的索引映射。从那里,您的 data(...) 函数将被实现,以通过适当的索引检索此地图中的条目。

于 2013-06-09T13:59:44.930 回答