【问题标题】:Can I use custom tags in Qt's QTextDocument?我可以在 Qt 的 QTextDocument 中使用自定义标签吗?
【发布时间】:2020-07-01 20:12:48
【问题描述】:

我知道 Qt QTextDocument 和 Qt QML Text 类型支持一组 supported tagssupported CSS properties,形成 HTML 4 的一个子集。

但是有什么方法可以扩展我可以使用的标签吗?例如,当我想呈现自定义 XML 而不首先将其转换为 HTML 时(通过Qt's XSL-T 或其他方式)。或者类似地,当我想直观地实现 Qt 的 HTML 4 子集尚不支持的元素时。

【问题讨论】:

    标签: qt qml qtextdocument


    【解决方案1】:

    确实可以,尽管这是未记录的行为,您应该注意风险(例如,这种行为可能会在未来的 Qt 版本中消失)。基本上,您可以使用任何您想要的标签名称并使用可用的 CSS 属性设置它们的样式。我用 Qt 5.12 对此进行了测试。

    演示一个您可以在 QML Text 中尝试的文档(通过扩展还包括 QTextDocument,尽管我没有明确测试过):

    <html>
        <head>
            <style>test-tag { font-weight: bold; }</style>
        </head>
        <body>
            <test-tag>Hello Test Tag!</test-tag>
        </body>
    </html>
    

    很酷?

    如果您使用包含破折号“-”字符的标签名称,您的自定义标签甚至是有效的 HTML5,符合自定义元素规范 (details)。

    【讨论】:

      猜你喜欢
      • 2021-07-15
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多