双击TableView中的文件夹导航

时间:2015-11-04 22:29:10

标签: qt qml qt5 qtquick2

我正在学习Qt快速编写文件管理器。在answer之前的问题之后,现在我尝试通过双击TableView中的行(对应于文件夹)来浏览目录树,也就是说,视图应该是更改为我刚刚双击的文件夹内的内容。

从概念上讲,我需要告诉onDoubleClicked更改folder的{​​{1}}属性,对吗?但是我不清楚如何获得与点击的行相对应的模型元素?一个硬编码的例子是:

FolderListModel

但我想为TableView { onDoubleClicked: { folderModel2.folder = "file:///bin"; } } 属性分配与我双击的行对应的模型元素的角色fileURL。顺便说一下,我没有计划在folder中明确显示fileURL,因此我必须自己获取模型元素,而不仅仅是视图。

同样,起始代码为here。谢谢!

1 个答案:

答案 0 :(得分:1)

对于我来说,在黑暗中行走感觉真是一件令人生畏的事情,但在我写完问题之后,更清楚地看到了什么。到目前为止,一个有效的解决方案:

TableView {
    onDoubleClicked: {
        var cur_idx = tableView1.currentRow;
        if ( folderModel2.isFolder(cur_idx) ) {
            folderModel2.folder = folderModel2.get(cur_idx, "fileURL");
        }
    }
}

如果有更好的解决方案,或者我目前的代码在QML方面存在不当行为,请告诉我。谢谢你的阅读。