如何在qml treeview中使用userdefine模型?

时间:2016-09-18 03:33:49

标签: qt qml qtquickcontrols

参考演示如下:

TreeView {
    TableViewColumn {
        title: "Name"
        role: "fileName"
        width: 300
    }
    TableViewColumn {
        title: "Permissions"
        role: "filePermissions"
        width: 100
    }
    model: fileSystemModel
}

我想将fileSystemModel更改为我自定义的模型。我该怎么做?感谢。

1 个答案:

答案 0 :(得分:2)

您可以像导出示例一样导出模型" fileSystemModel"。

基本上步骤是

  1. 创建模型实例
  2. 将您的实例设置为引擎根上下文的上下文属性
  3. 加载主QML文件
  4. 假设本地定义的QQuickView viewQQuickWindowQQmlApplicationEngine会导致代码非常相似的示例:

    MyModel model;
    view.engine()->rootContext()->setContextProperty("_identifierForModel", &model);
    

    setContextProperty()的第一个参数是在QML端可见的名称,即它的作用类似于" id" QML中的财产。