1. 程式人生 > >QTextEdit選擇文字

QTextEdit選擇文字

最近接觸QTextEdit比較多,想讓使用者在單擊QTextEdit的時候可以選擇特定的文字。但查了一下文件沒有發現有直接的函式可以用,後來知道跟游標相關和選擇文字相關的是QTextCursor類。原本以為會有setSelectionText之類的函式,但只看到一個select函式,這個函式沒有提供起始點和終止點的引數。後來才發現了怎麼用的。具體方法如下:

1.建立一個游標。

2.將游標移至選擇的起始位置。

3.將游標移至選擇的結束位置。

4.進行選擇。

5.設定新的游標。

用程式碼來描述的話可以是這樣的:

QTextCursor cur = edit->textCursor();//返回當前游標物件

cur.setPosition(2, QTextCursor::MoveAnchor);//移到起始位置

cur.movePosition(QTextCursor::NoMove, QTextCursor::keepAnchor, 3);//移動結束位置

cur.select(QTextCursor::WordUnderCursor);//選擇

edit->setTextCursor(cur);

這樣就選擇了位置是2到4三個字元的文字了。

1、向QTextEdit中當前游標位置新增一行字串message

ui.messageTextEdit->textCursor().insertText(message+"\n");

2、向QTextEdit中末尾追加一行字串message

QString content = ui.contentTextEdit->append(message+"\n");

3、讀取QTextEdit的值

QString content = ui.contentTextEdit->toPlainText();

4、游標移到末尾

ui.textBrowser_2->moveCursor(QTextCursor::End);