学习目标:
使用QFile读取文本文件并显示在TextEdit里面,从TextEdit里面读取文本内容并存储到txt文本里面
头文件包含:
#include<QFile>
#include<QFileDialog>
槽函数:
Qt5的写法
connect(ui->readButton,&QPushButton::clicked,this,&Widget::openFileAndRead);
connect(ui->writeButton,&QPushButton::clicked,this,&Widget::openFileAndWrite);
代码:
打开文本文件并读取文本文件内容
void Widget::openFileAndRead()
{
QString path=QFileDialog::getOpenFileName(this,"open","../","TXT(*.txt)");
if(false == path.isEmpty())
{
//文件对象
QFile file(path);
//打开文件,只读方式
bool isOpen=file.open(QIODevice::ReadOnly);
if(true == isOpen)
{
QByteArray array=file.readAll();//全部读取
ui->textEdit->setText(array);
}
}
}
读取TextEdit里面的文本 ,并将其存储到txt文本
void Widget::openFileAndWrite()
{
QFile file;
QString path=QFileDialog::getOpenFileName(this,"open","../","TXT(*.txt)");
if(false == path.isEmpty())
{
//文件对象
file.setFileName(path);
//打开文件,只写方式
bool isOpen=file.open(QIODevice::WriteOnly);
if(true == isOpen)
{
//获取编辑区内容
QString str=ui->textEdit->toPlainText();
//QString -> QByteArray
//str.toUtf8();//中文
//str.toLocal8Bit();//本地编码
//写文件
file.write(str.toStdString().data());
//QString-> string ->char *
//str.toStdString().data();
file.close();
}
}
}