最近接触QTextEdit比较多,想让用户在单击QTextEdit的时候可以选择特定的文本。但查了一下文档没有发现有直接的函数可以用,后来知道跟光标相关和选择文本相关的是QTextCursor类。原本以为会有setSelectionText之类的函数,但只看到一个select函数,这个函数没有提供起始点和终止点的参数。后来才发现了怎么用的。具体方法如下:
1.创建一个光标。
2.将光标移至选择的起始位置。
3.将光标移至选择的结束位置。
4.进行选择。
5.设置新的光标。
用代码来描述的话可以是这样的:
QTextCursor cur = edit->textCursor();//返回当前光标对象
cur.setPosition(2, QTextCursor::MoveAnchor);//移到起始位置
cur.movePosition(, QTextCursor::keepAnchor, 3);//移动结束位置
QTextCursor::NextCharacter
cur.select(QTextCursor::WordUnderCursor);//选择
edit->setTextCursor(cur);
这样就选择了位置是2到4三个字符的文本了。