http://kmlinux/~culik/wiki

#include <QDir>
#include <QFileInfo>
#include <QTreeWidget>
void showFile (QTreeWidgetItem * branch,
               QFileInfo info,
               int level);
void MainWindow::showFile (QTreeWidgetItem * branch,
                           QFileInfo info,
                           int level)
{
 
    QTreeWidgetItem * item = new QTreeWidgetItem;
    item->setText (0, info.fileName());
    item->setToolTip (0, info.filePath());
    if (info.isDir())
        item->setTextColor (0, QColor (255, 128, 64));
    else
        item->setTextColor (0, QColor ("cornflowerblue"));
 
    if (branch == NULL)
       ui->treeWidget->addTopLevelItem (item);
    else
       branch->addChild (item);
 
    if (info.isFile())
    {
       QIcon * icon = new QIcon (info.filePath());
       item->setIcon (0, *icon);
    }
 
    if (info.isDir() && level > 0)
    {
        QDir dir (info.filePath());
        QFileInfoList list = dir.entryInfoList
          (QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
        for (int i = 0; i < list.count(); i++)
           showFile (item, list[i], level-1);
    }
}
 
void MainWindow::on_pushButton_clicked()
{
    showFile (NULL, QFileInfo ("/usr/share/icons"), 4);
}
 
qtreewidget.txt · Last modified: 2015/03/04 15:08 by 147.32.8.115
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki