qt - fileDialogDCM.fileUrls.count 给出“未定义”(QML)
问题描述
Ubuntu 16.04 Qt,.qml
嗨,我正在尝试通过调用来遍历从用户收到的 Urls
console.log(fileDialogDCM.fileUrls.count)
在用户成功从 FileDialog 中的目录中选择文件后(以获取它们的最大数量)。但是,我收到了“未定义”。对象 fileDialogDCM.fileUrls 应该是类型QList<QUrl>
。我可以通过调用访问个人网址
console.log(fileDialogDCM.fileUrls[i])
所以我希望考虑的 QList 不为空。认为我是 qml 中的菜鸟,我做错了什么?这是最低限度的不工作示例:
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
在打印选定的网址之前必须打开吗?也根本没有list.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;
}
}
请参考 Qt 的优秀文档/示例,而不是发明/实施您对正确方法的想法。
推荐阅读
- postgresql - 为什么 Group By 在 PostgreSQL 中没有按预期工作?
- php - PHP 表单不提交到 $_POST
- vb.net - vb.net 更改表关系 ms 访问
- reactjs - 每次单击任何按钮或调整窗口大小时,都会重新绘制 Chartist 图表
- c# - 使用反射更快地调用方法
- ibm-mq - 使用 IBM MQExplorer 时未创建 CCDT 文件
- python - 如何从 gridsearchcv 绘制决策树?
- c# - 带有 method="POST" 的自定义表单未显示在任务模块 ms 团队中
- java - 尝试在 Intellij Idea 中构建 gradle 项目时出错
- python - 解码的 TFRecord 大小错误