点击 <C 语言编程核心突破> 快速C语言入门
Qt学习总结
前言
要解决问题: 学习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_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语言入门