[[qdir]]
 

mainwindow.h

public:
    void showDir (QString path);
private:
    void showSubdir (QTreeWidgetItem * branch, QDir dir);

mainwindow.cpp

#include "mainwindow.h"
 
#include <QDir>
#include <QTreeWidgetItem>
#include <iostream>
using namespace std;
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)
{
    setupUi(this);
 
    showDir ("..");
}
 
void MainWindow::showDir (QString path)
{
    QDir dir0 (path);
    QDir dir (dir0.absolutePath());
    auto branch = new QTreeWidgetItem;
    branch->setText (0, dir.dirName ());
    branch->setToolTip (0, dir.absolutePath());
    treeWidget->addTopLevelItem (branch);
 
    showSubdir (branch, dir);
}
 
void MainWindow::showSubdir (QTreeWidgetItem *branch, QDir dir)
{
    // cout << dir.absolutePath().toStdString() << endl;
    for (auto f : dir.entryInfoList
                 (QDir::NoDotAndDotDot | QDir::Files | QDir::Dirs))
    {
        auto item = new QTreeWidgetItem;
        item->setText (0, f.fileName());
        item->setToolTip (0, f.absoluteFilePath());
        branch->addChild (item);
 
        if (f.isDir())
           showSubdir (item, QDir (f.absoluteFilePath()));
    }
 
    branch->setExpanded (true);
}
 
void MainWindow::on_action_Quit_triggered()
{
   close ();
}
 
qdir.txt · Last modified: 2017/03/07 14:41 by 147.32.8.110
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki