当前位置:编程学习 > wap >>

求解大牛们一个关于tableView显示文件夹目录的问题

先贴上我显示出来的效果
能够正常显示出文件夹下内容了。
问题是为什么显示当前目录的"."和上级目录的“..”为什么没有显示出来呢,我想通过这“..”返回上级目录下面贴上我的代码
void test::setTableView()
{
    QFont tableViewFont;
    tableViewFont.setPointSize(15);
    tableViewFont.setBold(true);
    ui->tableView->setFont(tableViewFont);
    //ui->tableView->verticalHeader()->setDefaultSectionSize(50);
    ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
    ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
    ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
    ui->tableView->resizeColumnsToContents();
    ui->tableView->resizeRowsToContents();
    ui->tableView->setAutoScroll(false);
    ui->tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    ui->tableView->setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
    ui->tableView->setModel(testModel);
    ui->tableView->setStyleSheet("QScrollBar::vertical{border-radius: 4px; border: 0px solid grey;background: blue;width: 30px;margin: 0px 0 0px 0;}");
    ui->tableView->setColumnWidth(0,210);
    ui->tableView->setColumnWidth(1,112);
    ui->tableView->setColumnWidth(2,0);
    ui->tableView->setColumnWidth(3,240);
}

void test::showDirList(QString root)
{

    ui->tableView->setRootIndex(testModel->index(root));
    QStringList fileList;
    QDir rootDir(root);
    rootDir.setSorting(QDir::DirsFirst | QDir::IgnoreCase | QDir::Time);
    fileList<<"*";
    QStringList clearFileList;
    clearFileList = rootDir.entryList(fileList);
    clearFileList.removeFirst();
    clearFileList.removeFirst();
    for(int i = 0;i<clearFileList.count();i++ )
    {
        qDebug()<<"clearFileList.value("<<i<<") = "<<clearFileList.value(i);
    }
    QString setCurrentFilePath = root + clearFileList.value(0);
    ui->tableView->setCurrentIndex(testModel->index(setCurrentFilePath));
}
--------------------编程问答-------------------- testModel是QDirModel类型 贴上构造函数代码:
#include "test.h"
#include "ui_test.h"

test::test(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::test)
{
    ui->setupUi(this);
    this->testModel = new QDirModel;
    //testModel->setReadOnly(false);

    testModel->setSorting(QDir::DirsFirst | QDir::IgnoreCase | QDir::Time);
    this->setTableView();
    this->showDirList("../images/");
}
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,