#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QTreeWidgetItem>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
  private:
     QTreeWidgetItem * current;
  public:
     void open (QString s);
     void add (QString s);
     void close ();
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
private slots:
    void on_pushButton_clicked();
 
private:
    Ui::MainWindow *ui;
};
 
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
void MainWindow::open(QString s)
{
    QTreeWidgetItem * item = new QTreeWidgetItem;
    item->setText (0, s);
    item->setForeground (0, QColor ("blue"));
 
    if (current == nullptr)
       ui->treeWidget->addTopLevelItem (item);
    else
       current->addChild (item);
 
    current = item;
}
void MainWindow::add(QString s)
{
   open (s);
   close ();
}
void MainWindow::close()
{
    if (current != nullptr)
       current = current->parent();
}
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    current = nullptr;
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
#include <QDir>
 
void MainWindow::on_pushButton_clicked()
{
    QDir dir ("..");
    open (dir.absolutePath());
    auto list = dir.entryInfoList();
    for (auto item : list)
    {
        add (item.fileName());
    }
    close ();
 
    /*
    open ("Abc");
    open ("Def");
 
    open ("Klm");
    add ("something");
    close ();
 
    add ("another");
    close ();
 
    close ();
    */
}
 
qtreewidget_2018.txt · Last modified: 2018/02/27 15:11 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