Qt工作笔记-遍历文件夹里面的所有文件,并在QTreeWidget内显示
生活随笔
收集整理的這篇文章主要介紹了
Qt工作笔记-遍历文件夹里面的所有文件,并在QTreeWidget内显示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先是文件夾,如下圖:
話不多說,運行動態圖如下:
在此不做多余解釋,代碼很簡單
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_OBJECTpublic slots:void getAllFile();public:explicit Widget(QWidget *parent = 0);~Widget();private:Ui::Widget *ui; };#endif // WIDGET_Hwidget.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(); }總結
以上是生活随笔為你收集整理的Qt工作笔记-遍历文件夹里面的所有文件,并在QTreeWidget内显示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux工作笔记-解决安装Qt时缺少l
- 下一篇: 计算机图形几个小常识