Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 模型中的QML树视图_C++_Qt_Qml - Fatal编程技术网

C++ 模型中的QML树视图

C++ 模型中的QML树视图,c++,qt,qml,C++,Qt,Qml,我对QML非常陌生,我正在努力寻找如何以简单方式渲染树模型的任何信息(尽管是水平的,而不是垂直的): 似乎QML只支持模型中的列表数据结构。有什么办法吗?我自己想出来的。诀窍是使用DelegateModel、Repeater和行/列布局,而不是TreeView 创建一个组件,该组件将使用DelegateModel显示当前节点 使用中继器创建子级-让组件动态创建自身的另一个实例,将当前节点指定为新构造的DelegateModel的根索引,并将其设置为中继器的模型 通过正确使用布局,您可以将节点的

我对QML非常陌生,我正在努力寻找如何以简单方式渲染树模型的任何信息(尽管是水平的,而不是垂直的):


似乎QML只支持模型中的列表数据结构。有什么办法吗?

我自己想出来的。诀窍是使用DelegateModel、Repeater和行/列布局,而不是TreeView

  • 创建一个组件,该组件将使用DelegateModel显示当前节点
  • 使用中继器创建子级-让组件动态创建自身的另一个实例,将当前节点指定为新构造的DelegateModel的根索引,并将其设置为中继器的模型
  • 通过正确使用布局,您可以将节点的位置与附加图像中的位置完全相同

  • 不需要显示树数据。如果您不喜欢,您可以始终使用或TreeView似乎无法创建自己的项目,或如图所示渲染模型。创建一个C++实现是我希望避免的,如果可能的话,TreVIEW能够精确地显示你所画的数据。你认为这里可能会有什么问题?它能吗?就像我说的,我是新手,所有的图片都只显示了“典型”的树视图。如何让它工作?特别是,有可能将具有相同父节点的节点放在同一级别上吗?@folibis那么,真的有可能吗,因为没有答案?嗨,我遇到了完全相同的问题。你能提供一些如何做到这一点的最低限度的例子吗?很难提供最低限度的例子,但我可以向你展示我的结果代码:看起来是这样的:新构建的DelegateModel如何保持数据的一致性