有一些函数,如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中移动光标,例如一个字向右或向下移动一行.