如何设置QLineEdit实现换行

4

我目前正在将文字复制到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();
}

请建议如何分离这些逗号分隔的字符串,并必须以新行格式显示。
1个回答

5
文档中介绍了 QLineEdit 组件:

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

相关的类是 QTextEdit,它允许多行、富文本编辑。

因此,应该使用 QTextEdit 组件来允许多行文本。它也有一个setText方法,所以可以像使用 QLineEdit 一样使用它。

要将逗号替换为换行符,请使用replace方法:

// ...

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

//...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接