Qt怎么获取QTextEdit中文本的行数?blockcount()函数返回的只是段落数、、、

试过了,linecount()返回的也是段落数。
2025-01-07 16:08:20
推荐回答(3个)
回答1:

法1. QTextCursor tc = fileedit_window->textCursor(); //当前光标
QTextLayout *lay = tc.block().layout();
int curpos = tc.position() - tc.block().position();//当前光标在本BLOCK内的相对位置
int textline = lay->lineForTextPosition(curpos).lineNumber() + tc.block().firstLineNumber();

法2. int textline = fileedit_window->document()->lineCount();

好像是从0开始的行号,记不清了,可以调试看看。

回答2:

QTextCursor tc = fileedit_window->textCursor(); //当前光标

int rowNum = tc.blockNumber() + 1;//获取光标所在行的行号

回答3:

int QTextDocument::lineCount () const
这个就是你要的,和blockcount()的使用方法一样。