2023-12-05 Qt学习总结9_QFile文件操作


点击 <C 语言编程核心突破> 快速C语言入门



前言

要解决问题: 学习qt最核心知识, 多一个都不学.


二十五 QFile文件操作

QFile是Qt提供的文件读写类,支持对文件进行读写、复制、重命名、删除等操作。常用C++函数如下:

  1. 打开文件:QFile file(fileName)

  2. 打开文件模式:

    • 只读模式:file.open(QIODevice::ReadOnly)

    • 只写模式:file.open(QIODevice::WriteOnly)

    • 读写模式:file.open(QIODevice::ReadWrite)

    • 追加模式:file.open(QIODevice::Append)

  3. 写入文件:file.write("Hello World!")

  4. 读取文件内容:

    • 读取所有数据:file.readAll()

    • 读取一行数据:file.readLine()

    • 读取指定字节数的数据:file.read(numBytes)

  5. 获取文件大小:file.size()

  6. 检查文件是否打开:file.isOpen()

  7. 关闭文件:file.close()

  8. 拷贝文件:QFile::copy(sourceFileName, targetFileName)

  9. 重命名文件:QFile::rename(oldName, newName)

  10. 删除文件:QFile::remove(fileName)

示例:

建立一个界面, 利用信号和槽机制, 打开一个文件, 并将文件内容显示出来
在这里插入图片描述
编辑内容, 然后保存.
在这里插入图片描述
代码:

Widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QFile>
#include <QMessageBox>
#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui
{
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

  public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

  private slots:
    void on_openButton_clicked();

    void on_saveButton_clicked();

  private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp

#include "Widget.h"
#include "./ui_Widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_openButton_clicked()
{
    QFile file(ui->fileLineEdit->text());
    if (file.open(QIODevice::ReadOnly))
    {
        QMessageBox::information(this, "提示", "打开文件");
    }
    else
    {
        QMessageBox::information(this, "提示", "未打开文件");
    }

    ui->textEdit->setText(QString(file.readAll()));

    file.close();
}

void Widget::on_saveButton_clicked()
{
    QFile file(ui->fileLineEdit->text());
    if (file.open(QIODevice::WriteOnly | QIODevice::Truncate))
    {
        QMessageBox::information(this, "提示", "打开文件");
    }
    else
    {
        QMessageBox::information(this, "提示", "未打开文件");
    }

    file.write(ui->textEdit->toPlainText().toUtf8());

    file.close();
}


总结


点击 <C 语言编程核心突破> 快速C语言入门


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不停感叹的老林_<C 语言编程核心突破>

不打赏的人, 看完也学不会.

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值