In the context https://stackoverflow.com/questions/33513546/delegate-folderlistmodel-in-tableview文件管理器,我有一个TableView
组件保存在文件中dirview.qml
,它使用显示某个目录的内容FolderListModel
:
import QtQuick 2.4
import QtQuick.Controls 1.4
import Qt.labs.folderlistmodel 2.1
TableView {
id: tableView
property string folder_url: "file:///tmp"
anchors.fill: parent
TableViewColumn {
role: "fileName"
title: qsTr("Name")
width: tableView.width * 0.7
}
TableViewColumn {
role: "fileURL"
title: qsTr("Size")
width: tableView.width * 0.2
}
FolderListModel {
id: folderModel
folder: folder_url
nameFilters: ["*"]
showHidden: true
showDirsFirst: true
showDotAndDotDot: true
}
model: folderModel
}
Now in main.qml
,我想将此组件加载到Tab
. Since Tab
is a Loader
,我可以执行以下操作:
TabView {
id: tabView2
Tab {
title: qsTr("Home")
source: "dirview.qml"
}
}
然而,我需要做的是以某种方式传递一个 URL 字符串来设置folder_url
的财产dirview.qml
组件,并且该字符串必须覆盖默认值file:///tmp
(所以我说的是某种“绑定”)。
我尝试了一些不起作用的方法,例如使用Tab.onLoaded
to set item.folder_url = "file:///home"
。观点没有改变。
正确的做法是什么?
Thanks!
您可以使用Loader.item http://doc.qt.io/qt-5/qml-qtquick-loader.html#item-prop要访问的属性Tab
目的。根据文档:
该属性保存当前加载的顶级对象
例如:
Tab {
title: qsTr("Home")
source: "dirview.qml"
onLoaded: {
item.folder_url = "file:/home"
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)