我正在使用Qt 5.6和QML。我通过网络接收QML内容,但在使用它之前,我想验证QML语法实际上是否有效。我看到有一个javascript评估器,但没有类似的QML特定代码。
有人做过类似的事吗?
答案 0 :(得分:2)
使用QQmlComponent
将您的QML内容加载到QQmlComponent::loadUrl()
。收听QQmlComponent::statusChanged()
信号,并通过QQmlComponent::errors()
获取任何错误。它返回QQmlError
个对象的列表,您可以从中验证发生了哪种错误。
编辑:正如Kuba Ober在评论中指出的那样:
确保您信任该QML的来源。它是可执行代码,可以执行您的应用程序可以执行的任何操作。至少使用SSL连接并验证远程证书。