QText编辑。如何手动选择文本?
有textEdit->textCursor()->selectionStart()
和textEdit->textCursor()->selectionEnd()
这样的函数,但没有setSelectionStart
、setSelectionEnd
函数。
有没有办法手动选择文本的某些部分?
解决方案
QTextCursor c = textEdit->textCursor();
c.setPosition(startPos);
c.setPosition(endPos, QTextCursor::KeepAnchor);
textEdit->setTextCursor(c);
这段代码使用setPosition
将光标移动到所选内容的开始位置,然后将其移动到所选内容的末尾,但通过将MoveMode
指定为第二个参数,将选择锚点保留在旧位置。
最后一行将所选内容设置为在编辑控件内可见,因此,如果您只想对所选文本进行一些操作,则应跳过它。
另外,如果您没有确切的位置,movePosition
会很有帮助:您可以在various ways中移动光标,例如向右或向下移动一个单词。
相关文章