【问题标题】:QTextEdit - HTML / PlainText token cross-matchingQTextEdit - HTML / 纯文本令牌交叉匹配
【发布时间】:2014-02-28 12:09:55
【问题描述】:

首先让我说,我已经被这个问题困扰了好几天了。在对话框中,我们有一个带有可编辑“标记”(字符或字符对)的 QTextEdit。这些标记需要强调并与QHash<int, MyType *> 连接。

在实践中,这意味着需要强调和识别文本的某些部分。

例子:

你好娃娃y


到目前为止,我们已经提出了一个基于 QTextEdit 的 HTML 实现的解决方案。使用 QTextCursor 选择标记后,所选文本将被删除并替换为 an anchor,其 href 属性为 ID。像这样:

Hello doll<a href="1">y</a>!

当然,HTML 插入不是问题。在整个 HTML 中都没有检测到令牌。当您尝试根据 HTML 中的位置跳转到纯文本光标位置时,这种观点就碰壁了。


问题是:

  1. 如何获取具有给定 ID 的令牌的纯文本位置
  2. 如何根据特定的纯文本位置获取令牌的 ID

任何帮助都将不胜感激,即使它与我们的解决方案完全不同。

【问题讨论】:

    标签: html qt qt4 plaintext


    【解决方案1】:

    我是QSyntaxHighlighter 的粉丝。我认为这可能是一个更简单的解决方案。

    http://qt-project.org/doc/qt-5/qtwidgets-richtext-syntaxhighlighter-example.html

    如果荧光笔的使用与您的需求不符,我会考虑使用 Qt 的富文本处理。它完全可以满足您的需求,甚至更多。但是学习曲线有点陡峭。

    http://qt-project.org/doc/qt-5/richtext.html

    http://qt-project.org/doc/qt-5/examples-richtext.html

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2013-02-07
      相关资源
      最近更新 更多