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

lishi_1991 2013-09-02 05:58:59
先贴上我显示出来的效果
能够正常显示出文件夹下内容了。
问题是为什么显示当前目录的"."和上级目录的“..”为什么没有显示出来呢,我想通过这“..”返回上级目录下面贴上我的代码
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));
}
...全文
75 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishi_1991 2013-09-02
  • 打赏
  • 举报
回复
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/");
}

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧