按光标选择一个单词并在Qt / C ++

时间:2016-04-19 18:42:56

标签: c++ qt

我有一个带有QTextEdit的小型Qt / C ++应用程序,可以上传一些文本。我希望能够通过光标选择一个单独的单词并获得它在文本中的位置。

例如,在下面的句子中:“这是一个阳光灿烂的日子”。 如果我选择“晴天”这个词,我会得到int 4,因为它位于句子的第4个位置。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

你必须:

  1. 使用QString方法

  2. 将字段的文字显示为QTextEdit::text()
  3. 使用QTextEdit.textCursor()->selectionEnd()了解选择的结束位置。

  4. 使用QString::mid获取从0到选择结束的子字符串

  5. 使用QString::count知道它包含多少空格。这样您就可以访问该词的位置。

  6. 类似的东西:

    textEdit.text().mid( 0, textEdit.textCursor()->selectionEnd() ).count( ' ' )+1;
    

    希望它有所帮助。这是最小的,你可能想要处理部分单词选择或任何其他相关的角落案例。