#ifndef FILEMODEL_TEST_H
#define FILEMODEL_TEST_H
#include <QDialog>
#include <QFileSystemModel>
namespace Ui {
class FileModel_Test;
}
class FileModel_Test : public QDialog
{
Q_OBJECT
public:
explicit FileModel_Test(QWidget *parent = 0);
~FileModel_Test();
private slots:
void on_treeView_clicked(const QModelIndex &index);
private:
Ui::FileModel_Test *ui;
QFileSystemModel *dirmodel;
QFileSystemModel *filemodel;
};
#endif // FILEMODEL_TEST_H
#include "filemodel_test.h"
#include "ui_filemodel_test.h"
FileModel_Test::FileModel_Test(QWidget *parent) :
QDialog(parent),
ui(new Ui::FileModel_Test)
{
ui->setupUi(this);
QString sPath = "F:/";
dirmodel = new QFileSystemModel(this);
dirmodel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs);
dirmodel->setRootPath(sPath);
ui->treeView->setModel(dirmodel);
filemodel = new QFileSystemModel(this);
filemodel->setFilter(QDir::NoDotAndDotDot |QDir::Files);
filemodel->setRootPath(sPath);
ui->listView->setModel(filemodel);
}
FileModel_Test::~FileModel_Test()
{
delete ui;
}
void FileModel_Test::on_treeView_clicked(const QModelIndex &index)
{
QString sPath = dirmodel->fileInfo(index).absoluteFilePath();
ui->listView->setRootIndex(filemodel->setRootPath(sPath));
}