4

こんにちは私はQtプログラミングに不慣れで、QTextEditで各行のサイズを取得する方法を知りたいです。

更新
QTextEditのすべてのテキストの幅ではなく、テキストの各行(行)の幅を取得する必要があります。

4

1 に答える 1

0

更新しました

テキストのサイズ(幅と高さ)をピクセル単位で取得し、すべての文字列の長さをで取得したい場合は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);
}
于 2012-11-07T13:15:37.840 に答える