0

我有一个 QML 应用程序,我目前列出了目录中的文件。我现在想添加一种方法来为每个委托项目运行一个函数,例如。对于设置目录中的每个文件。或者实际上每个文件都通过一个函数(将它们添加到本地数据库)

我如何使用 QML 做到这一点?

4

1 回答 1

1

您可以使用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并修改以适合答案

于 2013-05-31T21:35:37.943 回答