Qt fileDialogDCM.fileUrls.count给出了;“未定义”;(QML)

Qt fileDialogDCM.fileUrls.count给出了;“未定义”;(QML),qt,qml,filedialog,Qt,Qml,Filedialog,Ubuntu 16.04 Qt,.qml 您好,我正在尝试通过调用 console.log(fileDialogDCM.fileurl.count) 用户成功地从FileDialog中的目录中选择文件后(以获取其最大数量)。然而,我收到的却是“未定义”。对象fileDialogDCM.FileURL的类型应为QList。我可以通过调用 console.log(fileDialogDCM.fileurl[i]) 所以我认为QList不是空的。在QML中考虑我是NoOB,我做错了什么? 以下是最小的

Ubuntu 16.04 Qt,.qml

您好,我正在尝试通过调用

console.log(fileDialogDCM.fileurl.count)

用户成功地从FileDialog中的目录中选择文件后(以获取其最大数量)。然而,我收到的却是“未定义”。对象fileDialogDCM.FileURL的类型应为
QList
。我可以通过调用

console.log(fileDialogDCM.fileurl[i])

所以我认为QList不是空的。在QML中考虑我是NoOB,我做错了什么? 以下是最小的工作示例:

FileDialog {
    id: fileDialogDCM
    selectMultiple: true
}

Button {
    id: loadDCM
    text: qsTr("Load DCM")
    property var aListOfPlans: fileDialogDCM.fileUrls
    onClicked: {
        for(var i=0; i<4; i++) {
          console.log(aListOfPlans[i])
        } //writes URLs of first 4 selected plans
        console.log(aListOfPlans.count) //gives undefined 
    }
}
FileDialog{
id:fileDialogDCM
selectMultiple:true
}
钮扣{
id:loadDCM
文本:qsTr(“加载DCM”)
属性var aListOfPlans:fileDialogDCM.fileurl
再次点击:{

对于(var i=0;i我想知道您希望在代码中得到什么。您不认为在打印选定的URL之前必须打开
FileDialog
吗?而且也没有
列表。count
属性

我想应该是这样的:

FileDialog {
    id: fileDialogDCM
    selectMultiple: true
    onAccepted: {
        for(var i = 0;i < fileDialogDCM.fileUrls.length;i ++)
        {
            console.log(fileDialogDCM.fileUrls[i]);
        }
    }
}

Button {
    id: loadDCM
    text: qsTr("Load DCM")
    onClicked: {
        fileDialogDCM.visible = true;
    }
}
FileDialog{
id:fileDialogDCM
selectMultiple:true
不接受:{
对于(var i=0;i
请参考Qt的优秀文档/示例,而不是发明/实现正确方法的想法


我确实调用了open on FileDialog,但考虑到这一点很明显,我没有将其包含在示例中

MenuItem {
            text: qsTr("Import DCM")
            onTriggered: {
                fileDialogDCM.open()
                console.log("[INFO]     Import DCM triggered")
            }
        }

然而,我找到了解决方案(或者意识到了真正的问题是什么)。我使用的是.count(gives undefined)而不是.legth(gives number)

请提供抱歉,现在有一段我的代码尼斯,但您尚未将您的评论作为答案发布。今后,请始终提供所有相关代码,并尽可能清楚地描述问题。