如何在特定行中打印QString

时间:2015-11-18 12:34:16

标签: c++ qt qstring

我知道如何通过QTextLayout计算Qt中的行数。我想分别打印每一行。这是我的代码:

QTextLayout *Layout = getMessageTextLayout(text,option,Width);

for (int j = 0; j < Layout->lineCount(); j++)
{
    QTextLine tl = Layout->lineAt(j);
    for (int k = tl.textStart() ; tl.textLength() ; k++)
    {
            qDebug()<<"text in line = "<<j;
            qDebug()<<text;
    }
}

例如,我有QString

*11111 1114 1111111 9111111111323154 6542312312222222 22222222222222212 3123
 12222222 222222 222133 33333333333 33333333 333333 333333333333333 33333333 
3333333333333  3333333 33333331453 4654365464 5645 546 54 6 546 5464 4533243*

我想打印第二行:

12222222 222222 222133 33333333333 33333333 333333 333333333333333 33333333

怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用用于创建QTextLayout的QString;

Layout->text().mid(tl.textStart(), tl.textLength())