QML 数组未定义检查

Posted

技术标签:

【中文标题】QML 数组未定义检查【英文标题】:QML Array Undefined Check 【发布时间】:2011-10-20 19:55:22 【问题描述】:

我在 QML 中收到一个数组未定义错误,我想知道如何解决这个错误。这是当前代码:

opacity: mBitField[index]

每隔一段时间它会说不能将undefined 分配给opacity,我想知道这个修复是否有效:

opacity: mBitField[index] == "undefined" ? 0 : mBitField[index]

基本上我想说的是,如果数组未定义,则可以分配 0 opacity,否则分配数组中的内容。

【问题讨论】:

【参考方案1】:

您的代码将数组元素转换为不必要的字符串。只检查未定义的应该是:

opacity: mBitField[index] === undefined ? 0 : mBitField[index]

或者,如果区分 undefined 和 null(以及 false、0 或 "")并不重要,只需使用 javascript 的强大功能即可:)

opacity: mBitField[index] || 0

【讨论】:

以上是关于QML 数组未定义检查的主要内容,如果未能解决你的问题,请参考以下文章

来自 Qt 的 QML 未定义变量

QML 参考错误 - 在 c++/QML 集成期间未定义 <thing>

Q_ENUMS 在 QML 中“未定义”?

Qml FontLoader 未加载自定义字体

数组检查未定义的偏移量php

PyQt5 + QML:带有“无法将[未定义]分配给QString”的空窗口