Qt QML中是否有来自TreeView的本机数据模型?
QT文档暗示QabstracteModel的任何实现都可以用于TreeView 这些模型通常是C++的,目前不方便。p> 那么,是否有一个可以在treeview中使用的本地QML模型Qt QML中是否有来自TreeView的本机数据模型?,qt,qml,qtquick2,qtquickcontrols,Qt,Qml,Qtquick2,Qtquickcontrols,QT文档暗示QabstracteModel的任何实现都可以用于TreeView 这些模型通常是C++的,目前不方便。p> 那么,是否有一个可以在treeview中使用的本地QML模型 可以从C++中设置QStand模型,并在QML?< P>中使用该模型,给出了如何使用它来树视图:< /P>的例子。 QStandardItemModel model; QStandardItem *parentItem = model.invisibleRootItem(); for (int i = 0; i &
可以从C++中设置QStand模型,并在QML?
< P>中使用该模型,给出了如何使用它来树视图:< /P>的例子。QStandardItemModel model;
QStandardItem *parentItem = model.invisibleRootItem();
for (int i = 0; i < 4; ++i) {
QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
parentItem->appendRow(item);
parentItem = item;
}
您还需要模型中的根项来显示树视图中的所有内容:
view.rootContext.setContextProperty("root", model.indexFromItem(model.invisibleRootItem()));
现在,您可以将其添加到QML TreeView中,如下所示:
TreeView{
model: treeViewModel
rootItem: root
TableViewColumn {
role: "display" // is role 0
}
}
那么,是否有一个可以在treeview中使用的本地QML模型
< 2018】仍然是“否”。当前的QML TeeVIEW示例仍然是只读静态C++模型,需要大量手工编码来使用它们来实现任何动态。
我发现了两个使用QML ListModel和Javascript数组的定制树视图的纯QML示例,例如:
(一)
(二)
来自Eric Gregory,展示拖放功能。我对其进行了扩展,使其可编辑,并通过JSON字符串保存/加载结构:
据我所知,没有。但这可能会帮助您:(尤其是指向的链接)同时记住对它的注释。因为现在QML没有原生树模型,您需要使用
QStandardItemModel
自己实现它。这是一个简单的例子。
TreeView{
model: treeViewModel
rootItem: root
TableViewColumn {
role: "display" // is role 0
}
}