我有一个 QML 应用程序,我目前列出了目录中的文件。我现在想添加一种方法来为每个委托项目运行一个函数,例如。对于设置目录中的每个文件。或者实际上每个文件都通过一个函数(将它们添加到本地数据库)
我如何使用 QML 做到这一点?
您可以使用Component.onCompleted
但是这可能会被多次调用,所以我不建议您使用它来更新数据库。(我希望你有一个插件来更新数据库。)
import QtQuick 1.0
import Qt.labs.folderlistmodel 1.0
ListView {
width: 200; height: 400
FolderListModel {
id: folderModel
nameFilters: ["*.qml"]
}
Component {
id: fileDelegate
Text {
text: fileName
Component.onCompleted: {
//DO WHATEVER YOU WANT HERE
console.log("process the file"+fileName);
}
}
}
model: folderModel
delegate: fileDelegate
}
原始代码取自http://doc.qt.digia.com/4.7/src-imports-folderlistmodel.html并修改以适合答案