c++ - 使用 QSimpleXmlNodeModel 和 QTreeView

标签 c++ qt

我一直在寻找用 XML 文件中的数据填充 QTreeView 的方法。 XML 将很简单。我遇到过 QSimpleXmlNodeModel 并一直在尝试弄清楚这是否适合我的需要,但找不到任何使用示例。

谁能给我指出一个例子或发布一些代码让我开始?

最佳答案

Qt 提供了一个示例。 看看xmlpatterns/filetree示例。

这不像其他一些模型那么容易。您必须实现这些抽象方法:

QUrl QAbstractXmlNodeModel::documentUri(const QXmlNodeModelIndex &) const
QXmlNodeModelIndex::NodeKind QAbstractXmlNodeModel::kind(const QXmlNodeModelIndex &) const
QXmlNodeModelIndex::DocumentOrder QAbstractXmlNodeModel::compareOrder(const QXmlNodeModelIndex &,const QXmlNodeModelIndex &) const
QXmlNodeModelIndex QAbstractXmlNodeModel::root(const QXmlNodeModelIndex &) const
QXmlName QAbstractXmlNodeModel::name(const QXmlNodeModelIndex &) const
QVariant QAbstractXmlNodeModel::typedValue(const QXmlNodeModelIndex &) const
QXmlNodeModelIndex QAbstractXmlNodeModel::nextFromSimpleAxis(QAbstractXmlNodeModel::SimpleAxis,const QXmlNodeModelIndex &) const
QVector<T> QAbstractXmlNodeModel::attributes(const QXmlNodeModelIndex &) const

关于c++ - 使用 QSimpleXmlNodeModel 和 QTreeView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30863391/

相关文章:

c++ - 尝试使用 memcpy 复制数据,出现错误 "Access violation writing location"

c++ - 这行代码有什么作用?

c++ - 如何针对发布构建的库 (MSVCRT.lib) 构建调试 .exe (MSVCRTD.lib)?

c++ - Qt 5 构建错误 : extra characters after test expression

c++ - { Qt5.0.2/QML/QtQuick2.0/C++ } 运行没有错误的示例项目?

c++ - 向 2D 对象添加 3D 效果 - DirectX

c++ - std::atomic 加载和存储都需要吗?

linux - Linux 和 Mac OS X 的共享数据位置

c++ - Qt 和 OpenGL 如何渲染 PVR

qt - 如何将 JavaScript 函数连接到属性信号?