qt按行读取每行放在不同textedit里
时间: 2023-08-30 19:01:24 浏览: 136
在Qt中,我们可以通过使用QFile类来读取文件的每一行,然后将每行的内容放入不同的QTextEdit部件中。
首先,我们需要在Qt项目中包含必要的头文件:
```c++
#include <QFile>
#include <QTextStream>
```
接下来,我们可以创建一个槽函数来处理读取文件的操作,并将每行内容分别放入不同的QTextEdit部件中:
```c++
void MainWindow::readFile()
{
// 创建QFile对象并打开文件
QFile file("input.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
// 创建QTextStream对象并绑定到QFile对象
QTextStream in(&file);
// 创建多个QTextEdit对象,用于显示每行的内容
QTextEdit* textEdit1 = new QTextEdit(this);
QTextEdit* textEdit2 = new QTextEdit(this);
QTextEdit* textEdit3 = new QTextEdit(this);
// 设置布局管理器,将文本部件添加到窗口中
QVBoxLayout* layout = new QVBoxLayout(this);
layout->addWidget(textEdit1);
layout->addWidget(textEdit2);
layout->addWidget(textEdit3);
this->setLayout(layout);
// 读取文件的每一行并将内容放入文本部件中
QString line;
int count = 0;
while (!in.atEnd()) {
line = in.readLine();
if (count == 0)
textEdit1->setText(textEdit1->toPlainText() + line);
else if (count == 1)
textEdit2->setText(textEdit2->toPlainText() + line);
else if (count == 2)
textEdit3->setText(textEdit3->toPlainText() + line);
count++;
}
// 关闭文件
file.close();
}
```
在这个例子中,我们假设有一个名为"input.txt"的文本文件,其中包含了三行内容。我们创建了三个QTextEdit部件,并将每行的内容分别放入这些部件中。
记得在MainWindow类中添加这个槽函数,并在适当的地方调用`readFile()`函数,比如在构造函数中或者在按下相关按钮时。
这样,每读取一行,就会将该行的内容添加到相应的QTextEdit部件中。
阅读全文