paip.c++ qt 目录遍历以及文件操作
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
#include <QMessageBox>
#include <QFileDialog>
#include "helo.h"
//#include <qfile.h>
//#include <qdir.h>
//#include <qfileinfo.h>
//#include<qdiriterator.h>
#include <QtCore>
//#include <QFileInfoListIterator>
//#include "qfileinfo.h"
//#include <QDirIterator>
//#include <attilaxc9>
//#include <QDirIterator>
#include <qtextstream.h>
//for select dir and scan pic
void MainWindow::on_pushButton_2_clicked()
{
/*
QFileDialog *fileDialog = new QFileDialog(this);
fileDialog->setWindowTitle(tr("Open Image"));
fileDialog->setDirectory(".");
// fileDialog->setFilter(tr("Image Files(*.jpg *.png)"));
if(fileDialog->exec() == QDialog::Accepted) {
QString path = fileDialog->selectedFiles()[0];
QMessageBox::information(NULL, tr("Path"), tr("You selected ") + path);
} else {
// QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files."));
}
*/
QString path=QFileDialog::getExistingDirectory(NULL, tr("选择文件夹"),"c:\i",QFileDialog::ShowDirsOnly);
QDir dir(path);
if (!dir.exists())
return ;
// dir.setFilter(QDir::Dirs|QDir::Files);
// dir.setSorting(QDir::DirsFirst);
// QFileInfoList list = dir.entryInfoList();
QFileInfoList list = dir.entryInfoList();
QDirIterator it(path,QDirIterator::NoIteratorFlags);
while (it.hasNext()) {
QString filename= it.next();
QString path_ext1=path+"/.";
QString path_ext2=path+"/..";
if(filename== path_ext1 || filename== path_ext2)
continue;
qDebug() << filename;
processImg(filename);
}
/**/
}
void MainWindow ::output2log(QString filename,QString txt)
{
QString fileName =filename;
QFile f( fileName );
f.open(QIODevice::WriteOnly );
QTextStream t(&f);
t << txt;
f.close();
}