QTextEdit获取文本行号

1.光标法

#include  
#include  
QTextCursor tc = ui.textEdit->textCursor(); //当前光标
QTextLayout *lay = tc.block().layout();
int iCurPos= tc.position() - tc.block().position();//当前光标在本BLOCK内的相对位置 
//光标所在行
int iCurrentLine = lay->lineForTextPosition(curpos).lineNumber() + tc.block().firstLineNumber(); 
int iLineCount = ui.textEdit->document()->lineCount(); 
int iRowCount = ui.textEdit->document()->rowCount(); 
//或
int iRowNum = tc.blockNumber() + 1;//获取光标所在行的行号

2.换行符法

QString strTemp= ui.textEdit->document()->toPlainText();//文本框中的内容

QStringList strList= strTemp.split( "/n" );//利用内容中的回车换行符截取,来获知共有几行 

你可能感兴趣的:(Qt之路,QT)