Qt文件读写(界面)

均为本人学习笔记,可参考,具体学习地址有黑马教学视频 和 Qt快速入门第三版这个书感兴趣可以一起参考学习

#include "widget.h"
#include "ui_widget.h"
#include 
#include 
#include 
#include 

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
     
    ui->setupUi(this);
}
Widget::~Widget()
{
     
    delete ui;
}
//读文件操作
void Widget::on_buttonRead_clicked()
{
     
  QString path = QFileDialog::getOpenFileName(this,"open");
if(path.isEmpty() == false)
{
     
    //文件对象
    QFile file(path);
    //打开文件
    bool isOK = file.open(QIODevice::ReadOnly);
    if(isOK == true)
    {
     
        #if 0
        //读文件,只识别utf-8
         QByteArray array = file.readAll();
         ui->textBrowser->setText(array);
         #endif
         QByteArray array;
         while(file.atEnd() == false)
         {
     
             array += file.readLine();
         }
         ui->textEdit->setText(array);
    }
    file.close();
    //获取文件信息
    QFileInfo info(path);
    qDebug()<<QString::fromLocal8Bit("文件名字")<<info.fileName().toLocal8Bit().data();
    qDebug()<<QString::fromLocal8Bit("文件后缀")<<info.suffix();
    qDebug()<<QString::fromLocal8Bit("文件大小")<<info.size();
}
}
//写文件
void Widget::on_buttonWrite_clicked()
{
     
    QString path = QFileDialog::getSaveFileName(this,"save","../Image","TXT.txt");
    if(path.isEmpty() == false)
    {
     
        QFile file;
        file.setFileName(path);
        //打开方式只写
        bool isOk = file.open(QIODevice::WriteOnly);
        if(isOk == true)
        {
     
            //获取编辑区内容
            QString str = ui->textEdit->toPlainText();
            //写文件
            //QString->QByteArray
            file.write(str.toUtf8());
            QString ->string->char*
            //file.write(str.toStdString().data());
            本地编码
            //file.write(str.toLocal8Bit());
        }
        file.close();
    }
}

你可能感兴趣的:(Qt,qt)