我有一个带有QTextEdit
的小型Qt / C ++应用程序,可以上传一些文本。我希望能够通过光标选择一个单独的单词并获得它在文本中的位置。
例如,在下面的句子中:“这是一个阳光灿烂的日子”。
如果我选择“晴天”这个词,我会得到int
4,因为它位于句子的第4个位置。
我怎样才能做到这一点?
答案 0 :(得分:1)
你必须:
使用QString
方法
QTextEdit::text()
使用QTextEdit.textCursor()->selectionEnd()
了解选择的结束位置。
使用QString::mid
获取从0到选择结束的子字符串
使用QString::count
知道它包含多少空格。这样您就可以访问该词的位置。
类似的东西:
textEdit.text().mid( 0, textEdit.textCursor()->selectionEnd() ).count( ' ' )+1;
希望它有所帮助。这是最小的,你可能想要处理部分单词选择或任何其他相关的角落案例。