利用UI简单的创建一个文件读写的窗口。UI界面如图所示:
read和write是两个按钮(按钮名称br和bw),下面是一个文本编辑区。
read按钮的槽函数(自动生成的槽函数 read -> 右击 -> 转到槽 -> clicked() -> ok)
void Widget::on_br_clicked()//read的槽函数
{
//文件对话框
QString path=QFileDialog::getOpenFileName(this,"OPEN","../","TXT(*.txt)");//设置文件路径 文件格式
if(path.isEmpty()==false){//路径正确
//创建文件对象 并且关联起来
QFile file(path);
bool isok=file.open(QIODevice::ReadOnly);//利用只读模式打开文件
if(isok){//打开成功
//读取文件内容
//1.一次性读取 file.readAll()
QByteArray array=file.readAll();//一次性读取
ui->textEdit->setText(QString(array));//在文本区域显示
//2.行读取 file.readLine()
// QByteArray array1;
// while (file.atEnd()==false) {
// array1+=file.readLine();//换行符号也是读取的
// }
// ui->textEdit->setText(QString(array));//在文本区域显示
}
file.close();
}
}
【领更多QT学习资料,点击下方链接免费领取↓↓,先码住不迷路~】
read按钮的槽函数(自动生成的槽函数 write -> 右击 -> 转到槽 -> clicked() -> ok)
void Widget::on_bw_clicked()//write的槽函数
{
//文件对话框
QString path=QFileDialog::getSaveFileName(this,"SAVE","../","TXT(*.txt)");//设置保存文件的路径 文件格式
if(path.isEmpty()==false){//路径正确
//创建文件对象 并且关联起来
QFile file(path);
bool isok=file.open(QIODevice::WriteOnly);//利用只读模式打开文件
if(isok){//打开成功
//读取编辑区的内容
QString str=ui->textEdit->toPlainText();//获取编辑区的内容
//将内容写入文件
//1.QString -> string -> char *
file.write(str.toStdString().data());//c_str
//2.SQtring -> QByteArray
//file.write(str.toUtf8());//utf8编码
}
file.close();//关闭文件
}
}
效果展示
1.读文件
2.写文件