调查崩溃我发现非QObject
派生的已注册元类型总是通过if (obj)
检查,即使它包含nullptr
。
输出返回值为QVariant(Base*)
而不是null
。
我怀疑QVariant::isNull()
在这里可能有用:
如果这是null变量,则返回true,否则返回false。一个变种是 如果它包含默认构造值或a,则视为null 内置类型实例,有一个isNull方法,在这种情况下 结果与在包装对象上调用isNull相同。
我认为nullptr
应该符合“默认构造值”,但它似乎不会被QML中的条件语句选中。
那么也许可以通过免费功能实现检查?或许我在这里看一个错误?
更新:它被视为critical bug。