一叶知秋 发表于 2015-7-20 15:44:46

QFileSystemModel的使用

本帖最后由 一叶知秋 于 2015-7-20 16:14 编辑

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

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


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


但是我想要的是这种效果


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

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

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

      ui->treeView->setRowHidden(model->index(path).row(), model->index(path).parent(), true);
    }
页: [1]
查看完整版本: QFileSystemModel的使用