Qt中,将QLineEdit中的内容写到一个新的txt文本当中
时间: 2024-03-14 11:45:48 浏览: 60
你可以使用QFileDialog来让用户选择保存的文件路径和文件名,然后将QLineEdit中的内容写入到文本文件中。下面是一个示例代码:
```cpp
QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), "", tr("Text Files (*.txt)")); // 打开文件保存对话框,让用户选择保存的文件路径和文件名
if (!fileName.isEmpty()) { // 如果用户选择了文件路径和文件名
QFile file(fileName);
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { // 打开文件,准备写入数据
QTextStream out(&file);
out << ui->lineEdit->text(); // 将QLineEdit中的内容写入到文本文件中
file.close(); // 关闭文件
}
}
```
在上面的代码中,我们首先打开文件保存对话框,让用户选择保存的文件路径和文件名。如果用户选择了文件路径和文件名,我们就将QLineEdit中的内容写入到文本文件中。注意,我们使用QTextStream来写入数据,这样可以保证写入的数据是以文本形式写入的。最后,我们关闭文件。
相关问题
qt中,如何利用this->accept(),点击按钮,将一个QLineEdit中的数据保存到文件中,如果数据未改变就不保存
您好,您的问题是如何在 Qt 中利用 this->accept() ,点击按钮,将一个 QLineEdit 中的数据保存到文件中,如果数据未改变则不保存。
可以利用以下步骤来实现:
1. 创建一个按钮,例如保存按钮,并将其与一个槽函数绑定。
2. 在槽函数中获取 QLineEdit 中的数据,如果数据未改变则不保存。
3. 如果数据有更改,则使用 QFile 和 QTextStream 将数据保存到文件中。
以下是具体实现,您可以将其添加到您的代码中进行测试:
// 定义一个 QlineEdit 对象
QLineEdit *lineEdit = new QLineEdit(this);
// 定义一个 QPushButton 对象
QPushButton *saveBtn = new QPushButton("Save", this);
// 将保存按钮与 saveSlot 函数进行绑定
connect(saveBtn, &QPushButton::clicked, this, &MainWindow::saveSlot);
// 定义一个私有的槽函数,用于保存数据
void MainWindow::saveSlot()
{
// 获取 QLineEdit 中的文本
QString text = lineEdit->text();
// 如果文本未改变,则不保存
if (text == m_text)
{
return;
}
// 如果文本有更改,则将其保存到文件中
QFile file("data.txt");
if (file.open(QIODevice::WriteOnly | QIODevice::Text))
{
QTextStream stream(&file);
stream << text << endl;
file.close();
}
// 更新 m_text 变量,用于下次比较
m_text = text;
}
其中,m_text 为一个成员变量,用于保存上一次的文本,用于下次比较。
在QT中,如何将三组数据写到一个txt文件中,并让QT代码分别获取到三个文本框中
在Qt中,你可以使用 QFile 类来将三组数据写入到一个文本文件中,并使用 QLineEdit 控件来获取三个文本框中的数据。以下是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QLineEdit>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个文本文件
QFile file("data.txt");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
{
qDebug() << "Failed to open file";
return -1;
}
// 创建一个文本流
QTextStream stream(&file);
// 获取三个文本框中的数据
QLineEdit edit1("Data1");
QLineEdit edit2("Data2");
QLineEdit edit3("Data3");
QString data1 = edit1.text();
QString data2 = edit2.text();
QString data3 = edit3.text();
// 写入数据到文件
stream << data1 << endl;
stream << data2 << endl;
stream << data3 << endl;
// 关闭文件
file.close();
return a.exec();
}
```
在上面的代码中,我们创建了一个名为 `data.txt` 的文本文件,并使用 `QFile` 类将其打开以供写入。接着,我们创建了一个 `QTextStream` 对象,并将其与文件关联起来。然后,我们使用 `QLineEdit` 控件模拟三个文本框,并通过 `text()` 函数获取每个文本框中的数据。最后,我们使用 `<<` 运算符将数据写入到文件中,并使用 `endl` 换行。最后,我们关闭文件。
请根据你的具体需求,修改获取数据的方式以适配你的文本框控件。同时,请确保在保存文件之前,你已经获取到了正确的数据。
阅读全文