首先是文件夹,如下图:
话不多说,运行动态图如下:
在此不做多余解释,代码很简单
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QStringList>
#include <QDirIterator>
#include <QFileInfo>
#include <QDir>
#include <QDateTime>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public slots:
void getAllFile();
public:
explicit Widget(QWidget *parent = 0);
~Widget();
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);
QStringList headerList;
headerList.append(tr("文件名"));
headerList.append(tr("创建时间"));
headerList.append(tr("文件大小"));
headerList.append(tr("文件路径"));
ui->treeWidget->setHeaderLabels(headerList);
ui->treeWidget->setColumnWidth(1,150);
connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(getAllFile()));
}
void Widget::getAllFile(){
QDir dir("D:/face");
dir.setFilter(QDir::Files|QDir::Hidden|QDir::NoSymLinks);
dir.setSorting(QDir::Time);
QFileInfoList list = dir.entryInfoList();
for (int i = 0; i < list.size(); ++i) {
QFileInfo fileInfo = list.at(i);
QTreeWidgetItem *newItem=new QTreeWidgetItem();
newItem->setText(0,fileInfo.fileName());
newItem->setText(1,fileInfo.created().toString("yyyy-MM-dd hh:mm:ss"));
newItem->setText(2,QString::number(fileInfo.size()));
newItem->setText(3,fileInfo.absoluteFilePath());
ui->treeWidget->addTopLevelItem(newItem);
}
}
Widget::~Widget()
{
delete ui;
}
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}