使用XML模式类型的Qt GUI输入验证

Qt GUI input validation with XML schema types

本文关键字:GUI 输入 验证 Qt XML 模式 类型 使用      更新时间:2023-10-16

我们正在开发一个跨平台,该平台应该提供一个Qt GUI来写入XML文件。将有一组可配置的XML元素/属性,这些元素/属性将在Qt GUI中使用QLineEdit等进行修改

我们如何添加符合XML模式中定义的类型的输入验证?类型都是类似simpleType的:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

除了重新实现所有xml模式类型的输入验证之外,还有其他可行的方法吗。我的想法是为当前可见的输入字段及其输入创建XMLSchema和XML文档,使用QXmlSchema进行验证,然后显示验证错误消息。然而,这似乎过于复杂,可能会很慢。

这里有一个XML模式验证器的好例子。在本例中,使用QPushButton验证模式,但您可以在编辑完成或文本更改后进行验证。