#include "TreeTest.h" CTreeTesp :: CTreeTesp() { //create widget and layout QWidget* pWidget = new QWidget(); QHBoxLayout* pLayout = new QHBoxLayout(); pLayout->setMargin(0); pLayout->setSpacing(0); pWidget->setLayout(pLayout); //Create tree controls pFolderView = new QTreeView(); pFileView = new QTreeView(); pLayout->addWidget(pFolderView); pLayout->addWidget(pFileView); //create models pFolderModel = new QFileSystemModel(); pFileModel = new QFileSystemModel(); //set models pFolderView->setModel(pFolderModel); pFileView->setModel(pFileModel); //set model props pFolderModel->setFilter(QDir::AllDirs|QDir::NoDotAndDotDot); pFolderModel->setRootPath("C:/"); QStringList strNameFilters; strNameFilters << "*.log" << "*.txt" << "*.xml"; // pFileModel->setRootPath(QString::null); pFileModel->setNameFilterDisables(false); pFileModel->setNameFilters(strNameFilters); pFileModel->setFilter(QDir::Files); //set view props pFolderView->setRootIsDecorated(true); pFolderView->setUniformRowHeights(true); pFolderView->setAnimated(true); pFolderView->setSortingEnabled(false); pFileView->setSortingEnabled(true); pFileView->setItemsExpandable(false); pFileView->setExpandsOnDoubleClick(false); pFileView->setRootIsDecorated(false); pFileView->sortByColumn(3, Qt::DescendingOrder); connect(pFolderView, SIGNAL(clicked(const QModelIndex&)), this, SLOT(OnFolderSelect(const QModelIndex&))); pWidget->show(); } void CTreeTesp :: OnFolderSelect(const QModelIndex& p_nIndex) { QString strPath = pFolderModel->filePath(p_nIndex); pFileModel->setRootPath(strPath); pFileView->setRootIndex(pFileModel->index(strPath)); }