如何使用新行设置QLineEdit

时间:2015-04-04 21:02:35

标签: c++ qt

目前我正在将文本复制到LineEdit,然后单击PushButton,它会将文本写入文件,即" data.txt"。我写了一个readfile()来读取data.txt中的文本,然后点击PushButton,它应该在LineEdit上以新的行格式显示文本。 这是我的代码:

    void MainWindow::writefile()
    {
        QString str = ui->lineEdit->text();
        QString filename = "data.txt";
        QFile file(filename);
        file.open(QIODevice::WriteOnly|QIODevice::Text);
        QTextStream out(&file);
        out<<str<<endl;
        file.close();
    }
    void MainWindow::readfile()
    {
        QString filename = "data.txt";
        QFile file(filename);
        file.open(QIODevice::ReadOnly|QIODevice::Text);
        QTextStream  in(&file);
        QString str = in.readLine();
        ui->lineEdit_2->setText(str);
        file.close();
    }
void MainWindow::on_pushButton_2_clicked()
{
    readfile();
}
void MainWindow::on_pushButton_clicked()
{
    writefile();
}

请建议如何分隔这些以逗号分隔的字符串,并且必须以新的行格式显示

File Input Output

1 个答案:

答案 0 :(得分:3)

QLineEdit的文档说:

  

线条编辑允许用户输入和编辑单行纯文本[...]

     

相关课程为QTextEdit,可以进行多行,富文本编辑。

因此,您应该使用QTextEdit窗口小部件而不是QLineEdit来允许多行文本。它还有setText,因此您可以使用相同的方式。

要用新行字符替换逗号,请使用replace方法:

// ...

QString str = in.readLine();
str = str.replace(",", "\n");
ui->textEdit_2->setText(str);

//...