繁体   English   中英

通过光标选择一个单词并获取其在Qt / C ++中的位置

[英]Select a word by cursor and get its position in Qt/C++

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

例如,在下面的句子中:“这是晴天”。 如果选择单词“ sunny”,则会得到int 4,因为它位于句子的第4位。

我该如何实现?

您必须:

  1. 使用QTextEdit::text()方法以QString获取字段的文本

  2. 使用QTextEdit.textCursor()->selectionEnd()知道选择在哪里结束。

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

  4. 使用QString::count知道它包含多少个空格。 这将使您能够访问单词的位置。

就像是:

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

希望能帮助到你。 这是最小的,您可能要处理部分单词选择或任何其他相关的大写情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM