在 TableView 中双击文件夹导航
Folder navigation by double-click in TableView
我正在学习 Qt Quick 来编写文件管理器。继 我之前的问题之后,现在我试图通过双击 TableView
中的一行(对应于一个文件夹)来浏览目录树,也就是说,视图应该更改为我刚刚双击的文件夹里面的内容。
从概念上讲,我需要告诉 onDoubleClicked
更改 FolderListModel
的 folder
属性,对吗?但是我不清楚如何获取与单击的行对应的模型元素?一个硬编码的例子是:
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 方面是否存在弊端。感谢阅读。
我正在学习 Qt Quick 来编写文件管理器。继 TableView
中的一行(对应于一个文件夹)来浏览目录树,也就是说,视图应该更改为我刚刚双击的文件夹里面的内容。
从概念上讲,我需要告诉 onDoubleClicked
更改 FolderListModel
的 folder
属性,对吗?但是我不清楚如何获取与单击的行对应的模型元素?一个硬编码的例子是:
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 方面是否存在弊端。感谢阅读。