如何在QTextEdit / QTextDocument中拥有不可选择的文本部分?

时间:2015-11-28 13:59:14

标签: qt qtwidgets

假设我在QTextEdit中有这样的文字:

  

这是示例文字

"示例"应该被视为1个单一字符,即当我尝试选择它时,要么选择单词中的所有字符,要么不选择单字符。当我用左/右键导航文档时,光标应该相信整个单词是一个单独的原子项,即如果光标位于单词的末尾,则按左键应该跳到单词的开头和副词反之亦然。 Backspace应该删除整个项目。

我能想到的最好的事情就是在飞行中生成一个带有该单词的图像并将其插入正确的位置,但这感觉非常hacky,我想知道是否有更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

我建议按照以下方向前进:

  1. 来自QTextEdit的子类。
  2. 重新实现mousePressEvent(),其中:
  3. 获取光标下的字词。
  4. 选择单词或突出显示。