的QTextEdit.如何手动选择文字?

The*_*rse 11 c++ qt selection qtextedit

有像textEdit->textCursor()->selectionStart()和的功能textEdit->textCursor()->selectionEnd(),但没有功能setSelectionStart,setSelectionEnd.

有没有办法手动选择文本的某些部分?

Ole*_*pin 27

 QTextCursor c = textEdit->textCursor();
 c.setPosition(startPos);
 c.setPosition(endPos, QTextCursor::KeepAnchor);
 textEdit->setTextCursor(c);
Run Code Online (Sandbox Code Playgroud)

这段代码使用光标将光标移动到选择的起始位置setPosition,然后将其移动到选择的结尾,但通过指定a MoveMode作为第二个参数将选择锚点保留在旧位置.

最后一行将选择设置为在编辑控件中可见,因此如果您只想对所选文本进行一些操作,则应跳过它.

此外,如果您没有确切的位置,movePosition则很有帮助:您可以通过各种方式移动光标,例如向右一个字或向下一行.