代码之家  ›  专栏  ›  技术社区  ›  Christophe Eblé

从单词选择中排除字符的方法

  •  1
  • Christophe Eblé  · 技术社区  · 16 年前

    我正在扩展一个qplaintextedit。

    当我双击一个包含管道字符的单词ex:{“foo”upper reverse} 全文被包围。

    我想把管道字符“”从选择中排除,不知道该怎么办 是否有方法更改qtextcursor::wordUndercorsor的行为?

    我希望这个字符的作用与空格相同,或者更一般地说是不可选择的字符。

    如qt文档所述:

    选择光标下的单词。如果 光标不在 可选字符字符串,否 文本已选定。

    1 回复  |  直到 12 年前
        1
  •  2
  •   rene    12 年前

    目前还没有正式的方法来改变文本编辑查找单词边界的方式。见 http://bugreports.qt-project.org/browse/QTBUG-150 .

    您可以使用它们的私有api来更改qttextengine::atwordseparator的行为。qt不建议这样做。管道在4.6中被识别为单词分隔符,但在4.5.1或更早版本中不被识别。如果可以的话,我建议您更新qt版本。否则,您可以给qtextedit一个新的qtextlayout和一个修改过的qtexngine。