相应 Style 对象的 QML QtQuick `control` 属性 有时为 null

QML QtQuick `control` property of corresponding Style object is sometimes null

我有一些使用 Qt 5.6.1 中的 QtQuick.Controls 1.4 的 QML 代码。我有一些围绕各种控件的包装器,例如 ComboBox;这些使用 Style 个对象。例如,MyComboBox 是带有自定义 ComboBoxStyle.

ComboBox

有时候,加载某些组件时,Style 对象中的 control 属性 是 null:

MyComboBox.qml中:

...
style: ComboBoxStyle {
    ...
    label: Label {
        text: control.currentText
...

最终的错误输出是:

qrc:/MyComboBox.qml:72: TypeError: Cannot read property 'currentText' of null

重新启动应用程序通常可以修复错误。

我不知道这是怎么发生的,也不知道为什么错误看起来是不确定的。我可以做些什么来调查?

这似乎已在 release 5.6.1-1; since upgrading, we have not observed this error. Presumably we were simply observing one of the less-critical symptoms of QTBUG-53761 中修复。

感谢 jpnurmi 识别我描述的症状与 bug 行为的相似性,并通知我有修复的版本可用(遗憾的是,在 Qt 5.6 版本中并不明显-系列页)。