C++ 获取QTextEdit中每行的大小

C++ 获取QTextEdit中每行的大小,c++,qt,qtextedit,C++,Qt,Qtextedit,嗨,我是Qt编程新手,我想知道如何获得QTextEdit中每行的大小 更新: 我需要得到文本中每一行(行)的宽度,而不是QTextEdit中所有文本的宽度。已更新 如果要获取文本的大小(宽和高)(以像素为单位)以及QTextEdit中每个字符串的长度,可以执行以下操作: // split all text into list of strings by separator '\n' (new line symbol) QStringList strLst = ui->textEdit-&g

嗨,我是Qt编程新手,我想知道如何获得QTextEdit中每行的大小

更新

我需要得到文本中每一行(行)的宽度,而不是QTextEdit中所有文本的宽度。

已更新

如果要获取文本的大小(宽和高)(以像素为单位)以及
QTextEdit
中每个字符串的长度,可以执行以下操作:

// split all text into list of strings by separator '\n' (new line symbol)
QStringList strLst = ui->textEdit->toPlainText().split('\n');
// gather font metrics in QTextEdit
QFont textEditFont = ui->textEdit->font();
QFontMetrics fm(textEditFont);
foreach (QString str, strLst)
{
    int pixelsWide = fm.width(str);
    int pixelsHigh = fm.height();
    qDebug() << QString("Row: %1:\n\tsymbols count = %2,\tpixels wide = %3,"
             "\tpixels high = %4")
                .arg(str)
                .arg(str.length())
                .arg(pixelsWide)
                .arg(pixelsHigh);
}
//通过分隔符“\n”(新行符号)将所有文本拆分为字符串列表
QStringList strLst=ui->textEdit->toPlainText().split('\n');
//在QTextEdit中收集字体度量
QFont textEditFont=ui->textEdit->font();
QFontMetrics fm(文本编辑字体);
foreach(QString str,strLst)
{
int pixelsWide=fm.width(str);
int pixelsHigh=fm.height();

qDebug()你的意思是字符大小吗?像素?PS:不要为你的英语道歉。QTextEdit,或者更确切地说,QTextEdit显示的QTextDocument实际上没有行,它有块。所以,是的,请澄清问题,确切的大小是什么,目的是什么?抱歉,耽搁了。所以事实上,我需要得到每行的宽度(行),而不是QTextEdit中所有文本的宽度。感谢您的帮助,再次表示歉意。关于。您希望获得什么样的值--符号数、像素数(如上所述)?尝试按符号“\n”将所有文本拆分为字符串,并计算每个字符串的长度。