在 TableView 中双击文件夹导航

Folder navigation by double-click in TableView

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

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

TableView {
    onDoubleClicked: {
        folderModel2.folder = "file:///bin";
    }
}

但是我想把我双击的行对应的模型元素的作用fileURL分配给folder属性。顺便说一句,我不打算在 TableView 中显式显示 fileURL,所以我必须获取模型元素本身,而不仅仅是视图。

同样,起始代码是 。谢谢!

在黑暗中行走对我来说是一件令人生畏的事情,但是当我把问题写下来之后,我就清楚了到底要看什么。到目前为止一个可行的解决方案:

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

请让我知道是否有更好的解决方案,或者我当前的代码在 QML 方面是否存在弊端。感谢阅读。