我正在扩展QPlainTextEdit。
当我双击包含管道字符ex的单词时:{“foo”| upper | reverse} 全文都被包围了。
我想排除管道字符“|”从选择,不知道该怎么做 有没有办法改变QTextCursor :: WordUnderCursor的行为?
我希望这个字母与空格一样,或者更像是一个不可选择的字符。
正如QT文档中所述:
选择光标下的单词。如果 光标不在a内 可选字符串,没有 选择了文字。
答案 0 :(得分:2)
目前,没有官方方法可以更改文本编辑查找单词边界的方式。请参阅http://bugreports.qt-project.org/browse/QTBUG-150。
您可以使用其私有API来更改QTextEngine :: atWordSeparator的行为。 Qt不推荐这种方式。管道在4.6中被识别为字分隔符,但在4.5.1或更早版本中未被识别。我建议更新你的Qt版本,如果这是一个选项。否则,您可以为QTextEdit提供一个带有修改后的QTextEngine的新QTextLayout。