QTextEdit選擇文字

2021-09-30 09:07:22 字數 657 閱讀 8856

最近接觸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三個字元的文字了。

QTextEdit獲取文字行號

include include qtextcursor tc ui.textedit textcursor 當前游標 qtextlayout lay tc.block layout int icurpos tc.position tc.block position 當前游標在本block內的相對位置...

QTextEdit文字編輯框的游標移動

1.問題描述 2.解決辦法 呼叫qtextedit類的成員函式 movecursor 可以設定游標的位置。其函式原型如下 void qtextedit movecursor qtextcursor moveoperation operation,qtextcursor movemode mode q...

PyQt5多行文字框QTextEdit文字改變事件

文字內容一旦改變則觸發事件 使用裝飾器定義訊號和槽函式,結合文字改變事件textchanged import sys from pyqt5.qtcore import pyqtslot,qmetaobject class mainwindow qwidget def init self super ...