我在C ++类中有一个QUuid
属性,它暴露给QML,有时QUuid
值可以为null(即QUuid::isNull() == true
)。然而,我发现从QML中检测此状态的唯一方法是首先将其隐式转换为String
:
if ( proxy.interpolatorID != "{00000000-0000-0000-0000-000000000000}" ) {
...
}
哪个很难看。使用typeof
运算符,QUuid
被指定为object
,但如果我使用Object.getOwnPropertyNames( proxy.interpolatorID )
列出所有属性和函数,则会返回一个空列表。< / p>
在绝望中我也尝试了!!proxy.interpolatorID
,但无论实际的数值如何,它都会返回true(不出所料)。
那么在QML中 一个QUuid
到底是什么?我可以做一些更优雅的空检测而不是String
转换或者在我的C ++类中添加另一个属性来提供null状态吗?