2023-12-05 Qt学习总结9


点击 快速C语言入门


Qt学习总结

  • 前言
  • 二十五 QFile文件操作
  • 总结


前言

要解决问题: 学习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)

示例:

建立一个界面, 利用信号和槽机制, 打开一个文件, 并将文件内容显示出来
2023-12-05 Qt学习总结9_第1张图片
编辑内容, 然后保存.
2023-12-05 Qt学习总结9_第2张图片
代码:

Widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include 
#include 
#include 

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语言入门


你可能感兴趣的:(Qt学习,qt,学习,开发语言)