linux下QT文本文件读取与保存操作

13 篇文章 0 订阅
7 篇文章 1 订阅

一个简单的文本读写操作文本格式为utf8。开文件显示乱码应该是文件编码问题,使用utf8无此问题(代码运行在linux平台)

代码如下:

#include "mywidget.h"
#include "ui_mywidget.h"
MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);
}
MyWidget::~MyWidget()
{
    delete ui;
}
void MyWidget::on_pushButton_clicked()
{
    //获取文件路径及名称
    QString path = QFileDialog::getOpenFileName(this,"打开文件","/myfile/code/qt","txt(*.txt) ;;"
                                                                "doc(*.doc *.docx)");
    //判断路径是否为空
    if(path.isEmpty() == false)
    {
         //指定文件路径
        QFile file(path);
        //检查文件打开情况
        bool isOk = file.open(QIODevice::ReadOnly);
        if(isOk == true)
        {
            //读文件 内容放到字节组
            QByteArray array = file.readAll();
            //显示到界面文本框
            ui->textEdit->setText(array);
        }
        //文件关闭
        file.close();
    }
}

void MyWidget::on_pushButton_2_clicked()
{
//设置文件保存路径及文件名
    QString path = QFileDialog::getSaveFileName(this,"保存文件","/myfile/code/qt","TXT (*.txt *.doc *.docx)");
    //检查路径是否为空
    if(path.isEmpty() == false)
    {
    //设置文件文路径
        QFile file;
        file.setFileName(path);
        //判断文件打开
        bool ret = file.open(QIODevice::WriteOnly);
        if(ret == true)
        {
        //讲文本框内容添加至文件
            QString str =ui->textEdit->toPlainText();
            file.write(str.toUtf8());
        }
        //关闭文件
        file.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值