qt——文件相关操作(read write)
一、设计要求
1.在qt里用代码在工程目录下创建一个test.txt
2.用ui创建一个行编辑器和两个按钮
3.在lineEdit里写文本后,点击write,将文本写入test.txt;点击read,将test.txt中的内容读到lineEdit
二、效果图
qt_file
三、代码
1.widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QFile>
#include <QDebug>
#include <QByteArray>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
//1.文本文件:写
void Widget::on_write_clicked()
{
QFile file("test.txt",this);//创建file对象
if(!file.open(QIODevice::WriteOnly | QIODevice::Truncate))//打开文件 不存在则创建 存在则清空
{
qDebug() << "open failed";
return ;
}
qDebug() << "open success";
QByteArray data = ui->lineEdit->text().toLatin1();//QString-->QByteArray转换 linEdit的内容写到data里
file.write(data);
file.close();
}
//2.文本文件:读
void Widget::on_read_clicked()
{
QFile file("test.txt",this);
if(!file.open(QIODevice::ReadOnly))//打开文件
{
qDebug() << "open failed";
return;
}
qDebug() << "open success";
QByteArray data =file.readAll();//读文件
ui->lineEdit->setText(data);//QByteArray-->QString 转换
file.close();
}
2.widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void on_write_clicked();//通过右键转到槽
void on_read_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
main.c里面没有改动,这里不再展示代码。