我有一个包含此内容的QPlainTextEdit:
This
is
a
QPlainTextEdit
我在Qt文档中搜索要读取的命令,例如第四行(QPlainTextEdit):比如readLine(int line),但我找不到任何东西。
答案 0 :(得分:9)
我会做以下事情:
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'
答案 1 :(得分:0)
您需要获取纯文本,然后按行拆分。例如:
QStringList lines = plainTextEdit->plainText()
.split('\n', QString::SkipEmptyParts);
if (lines.count() > 3)
qDebug() << "fourth line:" << lines.at(3);
如果您希望包含空行,请删除SkipEmptyParts
参数 - 它将默认为KeepEmptyParts
。
您还可以使用文字流:
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;