首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从QPlainTextEdit读取特定行

如何从QPlainTextEdit读取特定行
EN

Stack Overflow用户
提问于 2014-02-07 16:42:03
回答 2查看 7K关注 0票数 9

我有一个包含以下内容的QPlainTextEdit:

代码语言:javascript
复制
This
is
a
QPlainTextEdit

我在Qt文档中搜索要阅读的comand,例如第四行(QPlainTextEdit):比如readLine(int行),但是我什么也找不到。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-07 17:08:54

我要做以下几点:

代码语言:javascript
复制
QPlainTextEdit edit;
edit.setPlainText("This\nis\na\nQPlainTextEdit");

QTextDocument *doc = edit.document();
QTextBlock tb = doc->findBlockByLineNumber(1); // The second line.
QString s = tb.text(); // returns 'is'
票数 11
EN

Stack Overflow用户

发布于 2014-02-07 16:56:15

您需要获得纯文本,并将其拆分成行。例如:

代码语言:javascript
复制
QStringList lines = plainTextEdit->plainText()
                      .split('\n', QString::SkipEmptyParts);
if (lines.count() > 3)
  qDebug() << "fourth line:" << lines.at(3);

如果您希望包含空行,那么删除SkipEmptyParts参数-它将默认为KeepEmptyParts

您还可以使用文本流:

代码语言:javascript
复制
QString text = plainTextEdit->plainText();
QTextStream str(&text, QIODevice::ReadOnly);
QString line;
for (int n = 0; !str.atEnd() && n < 3; ++n)
  line = str.readLine();
qDebug() << "fourth or last line:" << line;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21633206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档