您好我是Qt编程的新手,我想知道如何在QTextEdit中获取每一行的大小。
更新:
我需要获取文本中每行(行)的宽度,而不是QTextEdit中所有文本的宽度。
答案 0 :(得分:0)
<强>已更新强>
如果你想获得文字大小(宽和高)的像素和&amp; 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);
}