点击 <C 语言编程核心突破> 快速C语言入门
Qt学习总结
- 前言
- 二十五 QFile文件操作
- 总结
前言
要解决问题: 学习qt最核心知识, 多一个都不学.
二十五 QFile文件操作
QFile是Qt提供的文件读写类,支持对文件进行读写、复制、重命名、删除等操作。常用C++函数如下:
-
打开文件:
QFile file(fileName)
-
打开文件模式:
-
只读模式:
file.open(QIODevice::ReadOnly)
-
只写模式:
file.open(QIODevice::WriteOnly)
-
读写模式:
file.open(QIODevice::ReadWrite)
-
追加模式:
file.open(QIODevice::Append)
-
-
写入文件:
file.write("Hello World!")
-
读取文件内容:
-
读取所有数据:
file.readAll()
-
读取一行数据:
file.readLine()
-
读取指定字节数的数据:
file.read(numBytes)
-
-
获取文件大小:
file.size()
-
检查文件是否打开:
file.isOpen()
-
关闭文件:
file.close()
-
拷贝文件:
QFile::copy(sourceFileName, targetFileName)
-
重命名文件:
QFile::rename(oldName, newName)
-
删除文件:
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_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic: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语言入门