找回密码
 立即注册
收起左侧

QFileSystemModel的使用

0
回复
7727
查看
[复制链接]
累计签到:882 天
连续签到:3 天
来源: 原创 2015-7-20 15:44:46 显示全部楼层 |阅读模式
本帖最后由 一叶知秋 于 2015-7-20 16:14 编辑

这个问题想了一个星期了,中间各种尝试且不表,今天灵机一动终于想出了解决办法

如下图,我想在QTreeView中只显示test文件夹


如果将根路径设在桌面这一层,那么桌面上的文件夹就都显示了


但是我想要的是这种效果


解决的办法就是将其他的文件夹隐藏
  1.     // 获取文件名
  2.     QDir dir("C:/Users/shansanmeng/Desktop");
  3.     QStringList list = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);

  4.     // 隐藏其它的文件夹
  5.     for (int i=0; i<list.size(); i++)
  6.     {
  7.         if (list.at(i).compare("test") == 0)
  8.         {
  9.             continue;
  10.         }

  11.         QString path = QString("C:/Users/shansanmeng/Desktop") + "/" + list.at(i);

  12.         ui->treeView->setRowHidden(model->index(path).row(), model->index(path).parent(), true);
  13.     }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了