小编b__*_*__r的帖子

获取QTextEdit的包装线

有没有办法让每一行显示在QTextEdit中?

我有一些未格式化的文本,显示在QTextEdit中,如下所示:

QString someText = "bla bla bla bla  bla bla bla bla bla bla bla bla bla";
QTextEdit* texEdit = new QTextEdit();
textEdit->setLineWrapMode(QTextEdit::FixedColumnWidth);
texEdit->setLineWrapColumnOrWidth(38);
texEdit->setWordWrapMode(QTextOption::WordWrap);
texEdit->setText(someText);
Run Code Online (Sandbox Code Playgroud)

在textEdit中将"someText"显示为2行

bla bla bla bla  bla bla bla bla bla
bla bla bla bla
Run Code Online (Sandbox Code Playgroud)

现在我想得到我的QTextEdit中显示的每一行.但是我还没有实现这个目标.

起初我天真地尝试过

textEdit->toPlainText().split("\n") 
Run Code Online (Sandbox Code Playgroud)

遗憾的是,它没有给我包裹的线条,因为包装不会插入换行符.

所以我认为也许QTextDocument是要走的路,结果也是死路一条.

QTextDocument* doc = textEdit->document();

qDebug() << "document linecount: " << doc->lineCount();
qDebug() << "block count:" << doc->blockCount();
qDebug() << "lines in block: " << doc->findBlock(1).lineCount();
Run Code Online (Sandbox Code Playgroud)

每个返回1.

任何帮助将不胜感激,谢谢!

c++ qt

0
推荐指数
1
解决办法
645
查看次数

标签 统计

c++ ×1

qt ×1