Qt 检查QML文件是否具有有效语法
我将Qt5.6与QML一起使用。我通过网络接收QML内容,但在使用它之前,我想验证QML语法是否确实有效。我看到有一个javascript计算器,但对于特定于QML的代码没有类似的计算器Qt 检查QML文件是否具有有效语法,qt,qml,evaluation,Qt,Qml,Evaluation,我将Qt5.6与QML一起使用。我通过网络接收QML内容,但在使用它之前,我想验证QML语法是否确实有效。我看到有一个javascript计算器,但对于特定于QML的代码没有类似的计算器 有人做过类似的事情吗?将您的QML内容加载到一个文件中。听信号,并得到任何最终的错误。它返回一个对象列表,您可以从中验证发生了什么类型的错误 编辑:正如评论中指出的: 确保您信任该QML的源。它是可执行代码,可以执行应用程序在其他情况下可以执行的任何操作。至少使用SSL连接并验证远程服务器的证书 我没想到!谢
有人做过类似的事情吗?将您的QML内容加载到一个文件中。听信号,并得到任何最终的错误。它返回一个对象列表,您可以从中验证发生了什么类型的错误
编辑:正如评论中指出的:
确保您信任该QML的源。它是可执行代码,可以执行应用程序在其他情况下可以执行的任何操作。至少使用SSL连接并验证远程服务器的证书
我没想到!谢谢,似乎从未调用错误状态。我尝试设置标志QQmlComponent::CompliationMode::PreferSynchronous,因此它可能实际上是不同步的(我现在没有通过网络加载qml,因此有关PreferSynchronous不适用于网络qml的文档不适用),如果出现语法错误和错误()和errorString()不报告任何错误。请确保您信任该QML的源。它是可执行代码,可以执行应用程序在其他情况下可以执行的任何操作。至少使用SSL连接并验证远程证书。@KubaOber这是一个可信的源(me),但这是一个很好的警告。