本文主要介绍文件和文件夹的操作,以及看文件和文件夹是否被改动过:
需要一个头文件QDir:
图中显示了当前的绝对路径,和当前路径下的所有文件,.代表当前文件夹…代表上一个文件夹.
文件监视需要包含QFileSystemWatcher,用QFileSystemWatcher来创建一个myWatcher,用myWatcher来产生出这个信号。
#include "widget.h"
#include "ui_widget.h"
#include <QDir>
#include <QDebug>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QDir myDir("D:\\QT_CPP\\Test\\");
ui->listWidget->addItem(myDir.absolutePath());
ui->listWidget->addItems(myDir.entryList());
myDir.mkdir("mydir");//在myDir中创建文件夹
connect(&myWatcher,&QFileSystemWatcher::directoryChanged,this,&Widget::showMessage);
myWatcher.addPath("D:\\QT_CPP\\Test\\mydir");
}
Widget::~Widget()
{
delete ui;
}
void Widget::showMessage(const QString &path)//定义一个槽函数
{
if(path == "D:\\QT_CPP\\Test\\mydir")
{
ui->listWidget->addItem("D:\\QT_CPP\\Test\\mydir 发生了改变");
}
}